我需要一些RegEx用于我的jQuery验证器自定义方法。我认为第一个容易的只是将用户名限制为只有美国字母,数字和没有特殊字符。我想出了^[a-zA-Z0-9]+$
,但似乎没有用。也许是因为它出现在函数中的方式:
$.validator.addMethod(
"legalName",
function(value, element) {
return (element.value != "^[a-zA-Z0-9]+$");
},
"Use a valid username."
);
第二种是验证密码,这与增加所需数量的某些字符(例如大写,数字等)基本相同。我想一旦我得到用户名RegEx下来密码不会太难,只是适合{1}
's和表达内容。
我的问题的最后一部分是如何在原始.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."
);
return this.optional(element) || /^[a-zA-Z0-9]+$/.test( value );
尝试使用Regex.test函数来检查字符串。
/^[a-zA-Z0-9]+$/.test( element.value );
有关更多信息,请参阅此处:http://www.javascriptkit.com/javatutors/redev3.shtml