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