我已使用以下规则为密码字段验证检查创建了正则表达式:
正则表达式:/^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9]).{8,}$/
任何帮助都将不胜感激。
答案 0 :(得分:1)
最简单的解决方法是不要使用前瞻。在您的情况下,由于所有前瞻都从字符串的开头开始(由于^
),因此相当于分别检查每个前瞻。您可以进一步删除.*
并进行无固定的匹配。
if (/[a-z]/.test(str) &&
/[A-Z]/.test(str) &&
/[!@#$&*]/.test(str) &&
/[0-9]/.test(str) &&
str.length() >= 8) {
// All conditions met
}
答案 1 :(得分:0)
应用Change Password Control RegEx validating oddly in IE 7 only中建议的相同概念,您最终会得到以下正则表达式:
/^(?=.{8,}$)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[0-9]).*/
我没有IE7,所以我无法测试它。