密码为子母和数字的组合验证:
关键点 regex: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/
(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。
给validator插件添加自定义正则表达式验证方法$.validator.addMethod
Js代码
$(function(){
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
}, "Please enter a valid pasword."); //增加regex正则表达式验证
$('#thirdForm').validate({
rules: {
customerUsername: {
required: true,
rangelength: [6, 20],
remote: {
url: 'checkUserExists.htm',
type: 'post',
data: {'userName': function(){return $('#customerUsername').val();}}
}
},
customerPassword: {
required: true,
rangelength: [6, 20],
regex: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/ //密码正则表达式字母和数字的组合
},
confirmPassword: {
required: true,
equalTo: '#customerPassword'
},
companyEmail: {
required: true ,
email: true //增加邮箱属性自动完成邮箱格式验证
}
},
messages: {
customerUsername: {
required: '用户名不能为空',
rangelength: '请输入{6}-{20}位字母、数字和下划线组成的用户名',
remote: '该用户名已存在,请更换其他用户名'
},
customerPassword: {
required: '密码不能为空',
rangelength: '密码必须是{6}-{20}位',
regex : '密码必须是数字和字母组合'
},
confirmPassword: {
required: '确认密码不能为空',
equalTo: '两次密码不一致'
},
companyEmail: {
required: "请输入Email地址",
email: "请输入正确的email地址"
}
}
});
});