需要向我的jquery.validate script添加一个正则表达式检查。
我有这个:
$().ready(function() {
$("#myBlahForm").validate({
rules: {
someName: {
required: true,
minlength: 5,
maxlength: 8,
},
somePassword: {
required: true,
minlength: 5,
maxlength: 8,
},
someConfirmPassword: {
required: true,
equalTo: "#somePassword"
},
},
messages: {
someName: {
required: "Please create your username",
},
somePassword: {
required: "Please create a password",
},
someConfirmPassword: {
required: "Please re-enter your password",
equalTo: "Passwords must match"
},
}
});
});
我想检查当用户在此处输入数据时数据库中允许的密码的特定字符:
<label for="someName">Username</label>
<input type="text" id="someName" name="someName" placeholder="Create a Username"/>
<label for="somePassword">Password</label>
<input type="password" id="somePassword" name="somePassword" placeholder="Create a Password"/>
<label for="someConfirmPassword">Confirm Password </label>
<input type="password" id="someConfirmPassword" name="someConfirmPassword" placeholder="Verify your Password"/>
使用 jquery 将正则表达式检查添加到必填字段(如密码或用户名)的最佳方法是什么.验证插件 bassisstance: http://docs.jquery.com/Plugins/Validation
基本上,我需要确保他们创建的密码和用户名只有 0-9、字母和几个特殊字符。
好吧,您可以使用addMethod
添加自定义验证方法,例如
$.validator.addMethod("regx", function(value, element, regexpr) {
return regexpr.test(value);
}, "Please enter a valid pasword.");
和
...
$("#myBlahForm").validate({
rules: {
somePassword: {
required: true ,
//change regexp to suit your needs
regx: /^(?=.*d)(?=.*[a-z])(?=.*[A-Z])w{6,}$/,
minlength: 5,
maxlength: 8
}
}
required: function(element){
return /[a-zA-Z0-9]/.test($('#someConfirmPassword').val());
}
如果正则表达式通过,上面的表达式将返回 true,如果没有,则返回 false。更改它以满足您的需求。