将正则表达式添加到jquery.validate

需要在我的jquery.validate脚本中添加正则表达式检查。

我有这个:

$().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" }, } }); 

});

我想在用户输入数据时检查数据库中允许的密码特定字符:

        

使用来自bassisstance的jquery.validate插件将正则表达式检查添加到必填字段(如密码或用户名)的最佳方法是什么: http ://docs.jquery.com/Plugins/Validation

基本上,我需要确保他们创建的密码和用户名只有0-9,字母和几个特殊字符。

好吧,您可以使用addMethod添加自定义validation方法,例如

 $.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)(?=.*[az])(?=.*[AZ])\w{6,}$/, minlength: 5, maxlength: 8 } } 
 required: function(element){ return /[a-zA-Z0-9]/.test($('#someConfirmPassword').val()); } 

如果regexp传递,则上面的表达式将返回true,否则返回false。 改变它以满足您的需求。