代码之家  ›  专栏  ›  技术社区  ›  C. Unit

密码的正则表达式=一个数字、大写字母和小写字母以及特殊字符,但是!!开头或结尾没有特殊字符

  •  2
  • C. Unit  · 技术社区  · 7 年前

    我试图在密码输入中为html5模式创建一个正则表达式。

    密码必须至少包含:

    • 1个大写字母
    • 1个小写字母
    • 1个数字
    • 1个特殊字符
    • 8-20个字符
    • 不得以特殊字符开头或结尾

    感谢您的帮助

    1 回复  |  直到 7 年前
        1
  •  5
  •   wp78de    7 年前

    没那么难:

    (                   # Start of group
        (?=.*\d)        #   must contain at least one digit
        (?=.*[A-Z])     #   must contain at least one uppercase character
        (?=.*[a-z])     #   must contain at least one lowercase character
        (?=.*\W)        #   must contain at least one special symbol
        \w
           .            #   match anything with previous condition checking
            {6,18}      #   length is  characters
        \w 
    )                   # End of group
    

    在一行中:

    ((?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*\W)\w.{6,18}\w)
    

    如果你不喜欢 \w 等于 [a-zA-Z0-9_] 将其替换为该组并删除下划线。

    然而,我完全支持ctwheels的论点。