我正在为我们的密码要求寻找单个正则表达式。密码:
- 必须至少为8个字符
- 不能包含空格
- 包含小写和大写字符
- 包含至少一个数字
- 包含至少一个特殊字符(即
0-9,a-z,A-Z
以外的任何字符)
对逻辑进行编码可能会更容易。正则表达式用于匹配模式。密码往往是一些随机字符串,所以这个问题不容易用正则表达式来解决。这是可能的,但将是晦涩的阅读和难以维护。
创意和大部分作品取自http://www.zorched.net/2009/05/08/password-strength-validation-with-regular-expressions/
^S*(?=S{8,})(?=S*[a-z])(?=S*[A-Z])(?=S*[d])(?=S*[W])S*$
我使用了他帖子底部的基本答案,但用S
替换了所有的点以排除空格字符,并移动了一些断言