[英]can`t escape backslash and ] symbol in jQuery form validation plugin
我正在使用jQuery表單驗證插件,並使用正則表達式來驗證一個字段。 這是一些代碼:
$.validator.addMethod('regex',
function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"" );
<input id="school" name="school" type="text" style="float: left" />
$("#school").rules("add", { regex: "^[a-zA-Z0-9]*$"});
但我想在這個領域使用\\
和]
符號。 使用反斜杠轉義這些字符沒有任何幫助,即使這里提到的3或4個反斜杠也是如此
編輯
謝謝。 這真是我的錯。 我更新了正則表達式來驗證不同的符號(也是反斜杠和])
$("#school").rules("add", { regex: /^[a-zA-Z0-9\',!;\<>\?\$\^:\\\/`\|~&\" @#%\*\{}\(\)\[\]_\+\.\s=-]*$/ });
它現在有效。
這應該工作:
'^[a-zA-Z0-9\\]\\\\]*$'
之前的兩個反斜杠在最終字符串中給出一個反斜杠,這個反斜杠轉義符號。 四個反斜杠在最終字符串中產生兩個反斜杠(兩個轉義反斜杠),這兩個反斜杠傳遞給RegExp構造函數,給出一個反斜杠。
這是一個簡單的演示: http : //jsfiddle.net/CsQn7/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.