0

我正在使用 jQuery 的Validation插件来验证表单,效果很好。我知道有内置方法可以检查电子邮件地址、URL 等。但是,现在我想检查一个特定的正则表达式(^[a-zA-Z\ ]+$在这种情况下,但我正在寻找一个通用的答案)。

如何让插件检查正则表达式?

4

2 回答 2

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.");
于 2013-04-12T10:40:16.480 回答
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}$" })

我带着这个样本,所以想把它贴上去。您正在定义一种方法来再次检查您的正则表达式模式,并在下面的代码中将规则应用于特定控件。根据您的要求更改验证条件和正则表达式模式。

于 2013-04-12T10:42:48.337 回答