我正在使用jQuery的Validation插件来验证表单,这很顺利。我知道有built-in methods来检查电子邮件地址,网址等。但是,现在我想检查特定的正则表达式(^[a-zA-Z\ ]+$
在这种情况下,但我正在寻找一般答案)。
如何让插件检查正则表达式?
答案 0 :(得分:1)
根据您链接的文档,您需要使用addMethod
。
据推测(我没有使用过此插件)类似于:
$.validator.addMethod("myMethod", function(text) {
var regex = /^[a-zA-Z\ ]+$/;
return regex.test(text);
}, "Custom error message");
您可以通过制作自己的正则表达式方法更进一步:
$.validator.addMethod("regex", function(text, pattern) {
return pattern.test(text);
}, "Pattern does not match.");
答案 1 :(得分:1)
你需要做这样的事情:
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
现在您需要做的就是对任何正则表达式进行验证是这样的:
$("#Textbox").rules("add", { regex: "^[a-zA-Z'.\\s]{1,40}$" })
我有这个样本和我一起考虑粘贴它。您正在定义一个方法,再次检查您的正则表达式模式,并在下面的代码中应用特定控件的规则。根据您的要求更改验证条件和正则表达式模式。