正则表达式密码强度

时间:2018-06-05 15:23:31

标签: regex

我编写了一个可能用于密码强度验证的正则表达式:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*\(\)\_])(?=.{6,})^\S*$/

我的密码标准如下:

  • 至少6个字符
  • 没有空间
  • 至少一位数
  • 至少一个大写
  • 至少一个小写
  • 至少有一个特殊字符:!@#$%^& *()_

这是预期的输出:

FooBar123!           should match
foobar123!           should not match (no upper-case letter)
FooBar123            should not match (no special character)
F0bar! F0bar!        should not match (contains spaces)
Fo0*                 should not match (too short)

由于某些原因,除FooBar123外,所有测试都通过了! 。知道为什么会这样吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下正则表达式,并且可以通过此表达式的响应来实现条件

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*\(\)\_])(?=.{6,})^\S*$