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

标签 regex passwords

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

密码必须至少包含:

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

感谢任何帮助

最佳答案

没那么难

(                   # 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)

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

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

关于密码的正则表达式 = 一个数字和大小写字母和特殊字符但是!!开头或结尾没有特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49157667/

相关文章:

c++ - 需要 C++ HTML 解析器 + 正则表达式支持

security - 进行密码检索/重置的安全方法?

ruby-on-rails - 无需密码即可更新 `User` 属性

c# - 如何散列密码

python - 提取单引号之间的子字符串

regex - sed 问题 - 从文件中提取特定单词

java - 在 Android 中检查密码

python - 有人注册时如何在gae上正确存储密码?

python - 使用正则表达式从单行文本中提取主机名

regex - 如何从同一个 Perl 正则表达式中捕获多个匹配项?