我编写了一个小条件来检查值是否相当于1个字+ 1个空格+ 1个字,我从另一篇文章中抓住了这个正则表达式代码,但它似乎不起作用,有人可以帮我这个,我假设我的正则表达式是错误的或者我在add方法中遇到某种错误,因为我的jQuery Validate工作正常,可以验证其他所有内容。
所以基本上我需要的是检查至少2个单词,但显然在2个单词之间有1个空格。
jQuery.validator.addMethod("twoWords", function(value, element) {
var reg1 = /^[a-zA-Z]+\\s[a-zA-Z]+$/;
if (reg1.test(value)) {
return true;
} else {
return false;
};
}, "Your signature must contain at least 2 words");
$("#myForm").validate({
rules: {
signature: {
required: true,
twoWords: true
}
},
messages: {
signature: {
required: "Please select a qualification"
}
},
submitHandler: function(form) {
form.submit();
}
});
答案 0 :(得分:1)
由于您使用正斜杠作为正则表达式分隔符,因此您无需再次使用反斜杠。
var reg1 = /^[a-zA-Z]+\s[a-zA-Z]+$/;
在/
分隔符中,\\s
将被视为\
+ s
。它与空格字符不匹配。
仅当您使用使用双引号作为正则表达式分隔符的RegExp
构造函数时,才使用双baclskash。
var reg1 = new RegExp("^[a-zA-Z]+\\s[a-zA-Z]+$");