JQuery addMethod()2字正则表达式验证

时间:2015-06-24 11:33:32

标签: javascript jquery regex

我编写了一个小条件来检查值是否相当于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();
    }
});

1 个答案:

答案 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]+$");