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

C. *_*nit 2 regex passwords

我正在尝试为密码输入中的 html5 模式创建正则表达式。

密码必须至少包含:

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

任何帮助表示赞赏

wp7*_*8de 6

这并不难:

(                   # 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
Run Code Online (Sandbox Code Playgroud)

一行:

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

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

不过,我完全支持ctwheels的说法。