我正在使用 jQuery 的Validation插件来验证表单,效果很好。我知道有内置方法可以检查电子邮件地址、URL 等。但是,现在我想检查一个特定的正则表达式(^[a-zA-Z\ ]+$
在这种情况下,但我正在寻找一个通用的答案)。
如何让插件检查正则表达式?
我正在使用 jQuery 的Validation插件来验证表单,效果很好。我知道有内置方法可以检查电子邮件地址、URL 等。但是,现在我想检查一个特定的正则表达式(^[a-zA-Z\ ]+$
在这种情况下,但我正在寻找一个通用的答案)。
如何让插件检查正则表达式?
根据您链接到的文档,您希望使用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.");
你需要做这样的事情:
$.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}$" })
我带着这个样本,所以想把它贴上去。您正在定义一种方法来再次检查您的正则表达式模式,并在下面的代码中将规则应用于特定控件。根据您的要求更改验证条件和正则表达式模式。