js 密码 大写字母,小写字母,数字,特殊字符,包含2种以上
const validatepassword = (rule, value, callback) => { if (value == "" || value == null) { return callback(new Error('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况')); } if (value.length<8) { return callback(new Error('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况')); } const reg1 = /[a-z]/; const reg2 = /[A-Z]/; const reg3 = /[0-9]/;
const reg4 = /[^0-9a-zA-Z]/;
var n=0;if(reg1.test(value)){ n++; } if(reg2.test(value)){ n++; } if(reg3.test(value)){ n++; } if(reg4.test(value)){ n++; }if(n>=2){ return callback(); }else { return callback(new Error('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况')) } }; return { password: [ { required: true, message: '请输入原密码', trigger: 'blur', }, ], newpassword: [ { validator: validatepassword, trigger: 'blur', }, ], };