Javascript 无法在jQuery表单验证插件中转义反斜杠和]符号

Javascript 无法在jQuery表单验证插件中转义反斜杠和]符号,javascript,jquery,validation,Javascript,Jquery,Validation,我正在使用jQuery表单验证插件,并使用regex验证一个字段。下面是一些代码: $.validator.addMethod('regex', function(value, element, regexp) { var check = false; var re = new RegExp(regexp); return this.optional(element) || re.test(value

我正在使用jQuery表单验证插件,并使用regex验证一个字段。下面是一些代码:

$.validator.addMethod('regex',
            function(value, element, regexp) {
            var check = false;
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
             },
    "" );    

但是我想在这个字段中使用
\
]
符号。使用反斜杠转义这些字符没有帮助,即使使用前面提到的3或4个反斜杠也是如此

编辑
谢谢这真是我的错。我更新了regex以验证不同的符号(还有反斜杠和])

$(“#学校”).规则(“添加”、{regex:/^[a-zA-Z0-9\,!;\?\$^:\\\/`\\\\\\\\\\\/`\\\\\\\\\\\\\\\\[\]\\\\\\\\\\\\\.=-]*$/});
现在可以用了。

这个应该可以用了:

“^[a-zA-Z0-9\\]\\\\]*$”
]前面的两个反斜杠在最后一个字符串中给出一个反斜杠,这个反斜杠转义]符号。 四个反斜杠在最后一个字符串中产生两个反斜杠(两个转义反斜杠),传递给RegExp构造函数的这两个反斜杠给出一个转义反斜杠

这是一个简单的演示:

为什么
regex:“^[a-zA-Z0-9]*$”
而不是
regex://^[a-zA-Z0-9]*$/
<input id="school" name="school" type="text" style="float: left" />
$("#school").rules("add", { regex: "^[a-zA-Z0-9]*$"});
$("#school").rules("add", { regex: /^[a-zA-Z0-9\',!;\<>\?\$\^:\\\/`\|~&\" @#%\*\{}\(\)\[\]_\+\.\s=-]*$/ });