正则表达式设置密码策略的问题

时间:2018-03-12 12:10:42

标签: regex passwords policy

我想使用Regex设置密码策略。如果可以,请你帮助我。基本上,我希望能够检查以下密码规则:

  • 密码至少应包含12个字符
  • 它应至少包含3个小写字符
  • 它应该至少有3个大写字符
  • 一个数字
  • 一个特殊字符

非常感谢你!

祝福,

的Marcin

1 个答案:

答案 0 :(得分:0)

虽然必须检查问题,但正向前瞻是零宽度断言,因此可以用于组合AND条件。 x标志用于提高可读性。

^
(?=.{12,})                  # at least 12 characters
(?=(?:[^a-z]*[a-z]){3,})    # at least 3 lowercase characters
(?=(?:[^A-Z]*[A-Z]){3,})    # at least 3 uppercase characters
(?=(?:[^0-9]*[0-9]){1,})    # a number
(?=(?:[^ -\/:-@[-`{-~]*[ -\/:-@[-`{-~]){1,}) # a special character
.*$                         # to get the match

check on regex101