RegEx在jQuery Validator addMethod中

时间:2011-03-08 09:02:02

标签: jquery regex jquery-validate

我的jQuery验证器自定义方法需要一些RegEx。我认为第一个容易的只是将用户名限制为只有美国字母,数字和没有特殊字符。我想出了^[a-zA-Z0-9]+$,但似乎没有用。也许是因为它出现在函数中的方式:

$.validator.addMethod(
    "legalName",
    function(value, element) {
        return (element.value != "^[a-zA-Z0-9]+$");
    },
    "Use a valid username."
);

第二种是验证密码,这与增加所需数量的某些字符(如大写,数字等)基本相同。我想,一旦我得到用户名RegEx,密码就不会太难,只需要在{1}中拟合等等。

我的问题的最后一部分是如何在原始.addMethod中添加第二种方法(“legalPassword”),还是需要创建另一种方法$.validator.addMethod

$(document).ready(function() {
    $("#form1").validate({
        rules: {
            username: {
                legalName: true,
                required: true,
                maxlength: 35
            }
        },
    });
});

和表格代码:

<form id="form1" method="post" action="">
  <div class="form-row"><span class="label">Username *</span><input type="text" name="username" /></div>
  <div class="form-row"><input class="submit" type="submit" value="Submit"></div>
</form>

新代码(仍无效):

$.validator.addMethod(
    "legalName",
    function(value, element) {
        /^[a-zA-Z0-9]+$/.test( value );
    },
    "Use a valid username."
);

3 个答案:

答案 0 :(得分:5)

return this.optional(element) || /^[a-zA-Z0-9]+$/.test( value );

答案 1 :(得分:2)

尝试使用Regex.test函数来检查字符串。

/^[a-zA-Z0-9]+$/.test( element.value );

有关详细信息,请参阅此处:http://www.javascriptkit.com/javatutors/redev3.shtml

答案 2 :(得分:0)

试用Regex Mask Plugin

浏览以下链接

regexMask()