正则表达式验证密码

use*_*548 3 regex passwords

我在这里寻找了一些想法,但我似乎仍在努力想出一个符合我要求的正则表达式.

我需要一个正则表达式来检查密码格式,标准是:

  • 至少1个大写字母
  • 至少1个号码
  • 仅限字母数字字符(无特殊字符)
  • 至少8个字符

我正在使用的正则表达式是:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
Run Code Online (Sandbox Code Playgroud)

然而,这也允许像!$&.

是否需要对此进行修改以使其停止接受这些特殊字符?

Tot*_*oto 8

将最后一部分更改.{8,}[a-zA-Z\d]{8,}

 ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
Run Code Online (Sandbox Code Playgroud)