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