正则表达式验证:数字+字母+大小写+特殊字三个以上且8位以上
// 自定义密码验证
jQuery.validator.addMethod("password", function(value, element) {
var passWord = /^(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*((?=[\x21-\x7e]+)[^A-Za-z0-9])).{8,}$/;
return this.optional(element) || (passWord.test(value));
}, "请输入至少8位密码(至少包含1个字母,1个数字和1个特殊字符)");
$('#validation-form').validate({
errorElement: 'div',
errorClass: 'help-block',
focusInvalid: false,
ignore: "",
rules: {
plainPassword:{
required: true,
password:"请输入至少8位密码(至少包含1个字母,1个数字和1个特殊字符)"
},
repassword:{
equalTo: '#form-password'
}
},
messages: {
plainPassword:{
rangelength: '请输入至少8位密码(至少包含1个字母,1个数字和1个特殊字符)'
},
repassword:{
equalTo: '必须与密码保持一致'
}
},
highlight: function (e) {
$(e).closest('.form-group').removeClass('has-info').addClass('has-error');
},
success: function (e) {
$(e).closest('.form-group').removeClass('has-error');//.addClass('has-info');
$(e).remove();
},
errorPlacement: function (error, element) {
if(element.is('input[type=checkbox]') || element.is('input[type=radio]')) {
var controls = element.closest('div[class*="col-"]');
if(controls.find(':checkbox,:radio').length > 1) controls.append(error);
else error.insertAfter(element.nextAll('.lbl:eq(0)').eq(0));
}
else if(element.is('.select2')) {
error.insertAfter(element.siblings('[class*="select2-container"]:eq(0)'));
}
else if(element.is('.chosen-select')) {
error.insertAfter(element.siblings('[class*="chosen-container"]:eq(0)'));
}
else error.insertAfter(element.parent());
},
submitHandler: function (form) {
form.submit();
},
invalidHandler: function (form) {
}
});