首页 文章

用于密码强度验证的RegEx问题

提问于
浏览
5

我正在为我们的密码要求寻找一个正则表达式 . 密码:

  • 必须至少8个字符

  • 不能包含空格

  • 包含小写和大写字符

  • 包含至少一个数字

  • 包含至少一个特殊字符(即任何字符不是 0-9,a-z,A-Z

2 回答

  • 4

    想法和大部分工作取自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 替换了所有的点以排除空格字符,并移动了一些断言 .

  • 8

    编写逻辑可能更容易 . 正则表达式用于匹配模式 . 密码往往是一些随机的字符串,所以这个问题不容易被正则表达式解决 . 这是可能的,但是阅读和难以维护将是神秘的 .

相关问题