正则表达式验证密码

时间:2012-03-14 09:11:39

标签: regex passwords

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

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

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

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

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

但是,这也允许使用!$&等字符。

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

1 个答案:

答案 0 :(得分:8)

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

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