我想验证密码。以下是我的要求。
最小密码长度:8
最小小写字符数:1
最小大写字符数:1
最小数字字符数:1
如何编写正则表达式?
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8,}$
?=
(零宽度正向先行断言)在一些常见的客户端语言中不被支持,但经过一番研究,我很高兴地发现我错了。这是要使用的正则表达式。 - neontapir我同意@Russell的观点,函数是密码验证的更好选择。很难想象单一的正则表达式可以处理所有这些情况。我认为你需要逐个检查。
具体而言,正则表达式是:
.{8}
匹配至少8个字符[a-z]
匹配一个小写字母[A-Z]
匹配一个大写字母[0-9]
匹配一个数字话虽如此,这些仅适用于客户端检查,以便在服务器进行深入验证之前进行检查。
(?=^.{8}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$