密码复杂度的正则表达式

ahm*_*wil 3 regex

我正在尝试通过客户端(JavaScript)和服务器端(ASP.NET C#)上的正则表达式来实现密码复杂性的实施。

规则如下:

  • 必须为8-40个字符
  • 必须至少包含一位数字
  • 必须至少包含一个小写字母
  • 必须包含至少一个大写字母
  • 必须至少包含一个特殊字符

您能帮忙构造验证上述内容的正则表达式吗?

Vic*_*loy 6

在这里试试这个正则表达式:

((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,40})

(           # Start of group
  (?=.*\d)      #   must contains one digit from 0-9
  (?=.*[a-z])       #   must contains one lowercase characters
  (?=.*[A-Z])       #   must contains one uppercase characters
  (?=.*[@#$%])      #   must contains one special symbols in the list "@#$%"
              .     #     match anything with previous condition checking
                {8,40}  #        length at least 8 characters and maximum of 40 
)       
Run Code Online (Sandbox Code Playgroud)

  • 您需要添加锚点,以确保不超过40个字符。 (2认同)