/** * 获取密码的校验规则 * @param type 密码的校验类型 * @param num 密码的最小长度 * @returns {{msg: string, pattern: string, regVal: boolean}} */ function getPasswordRule(type, num) { let result = { pattern: "", regVal: false, msg: "" }; // type = 5; // num = 8; switch (Number(type)) { case 1: result.pattern = new RegExp("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d!@#$%^&*()_+]{"+num+",}$"); result.msg="最少"+num+"个字符,至少1个大写字母,1个小写字母和1个数字"; break; case 2: result.pattern = new RegExp("^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])[a-zA-Z\\d!@#$%^&*()_+]{"+num+",}$"); result.msg="最少"+num+"个字符,至少1个大写字母,1个小写字母和1个特殊字符"; break; case 3: result.pattern = new RegExp("^(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+])[a-zA-Z\\d!@#$%^&*()_+]{"+num+",}$"); result.msg="最少"+num+"个字符,至少1个大写字母,1个数字和1个特殊字符"; break; case 4: result.pattern = new RegExp("^(?=.*[a-z])(?=.*\\d)(?=.*[!@#$%^&*()_+])[a-zA-Z\\d!@#$%^&*()_+]{"+num+",}$"); result.msg = "最少"+num+"个字符,至少1个小写字母,1个数字和1个特殊字符"; break; default: result.pattern = new RegExp("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+])[a-zA-Z\\d!@#$%^&*()_+]{"+num+",}$"); result.msg="最少"+num+"个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符"; break; } return result; } export default getPasswordRule;