jQuery验证接受正则表达式

时间:2013-04-12 10:30:37

标签: jquery regex validation

我正在使用jQuery的Validation插件来验证表单,这很顺利。我知道有built-in methods来检查电子邮件地址,网址等。但是,现在我想检查特定的正则表达式(^[a-zA-Z\ ]+$在这种情况下,但我正在寻找一般答案)。

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

2 个答案:

答案 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}$" })

我有这个样本和我一起考虑粘贴它。您正在定义一个方法,再次检查您的正则表达式模式,并在下面的代码中应用特定控件的规则。根据您的要求更改验证条件和正则表达式模式。