繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM