我想要一个正则表达式来检查是否检查了至少8个字符,包含1个数字,1个特殊字符和1个大写字母。
function checkPassword(str) {
var re = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})$/;
return re.test(str);
}
答案 0 :(得分:2)
亲吻 - 保持简单
你的字符串长度是8还是更长?没有?测试失败。是?继续。
对字符串运行4个正则表达式测试,每个参数对应一个
4个真实的价值意味着你很高兴。任何虚假值都意味着没有验证
如果您不理解或彻底测试,复杂的正则表达式总会让您遇到奇怪的边缘情况。将其分解为更小的可理解的部分并连续运行测试。你想要正确,不时尚。