RegEx在jQuery Validator addMethod中

teh*_*ron 0 regex jquery jquery-validate

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

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

第二种是验证密码,这与增加所需数量的某些字符(例如大写,数字等)基本相同.我想一旦我得到用户名RegEx下来密码不会太难,只是{1}在表达式中适应的问题.

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

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

和表格代码:

<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>
Run Code Online (Sandbox Code Playgroud)

新代码(仍然无效):

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

teh*_*ron 5

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