密码的正则表达式模式

时间:2012-08-28 08:17:40

标签: regex validation passwords

我需要一个验证密码格式的正则表达式模式。 规则是:

  • 总共最少8个字符
  • 至少两个字母
  • 至少两位数字或符号

我想出了以下内容: /((?=.*[0-9\@\&#\$\?\%!\|(){}[]])(?=.*[a-zA-Z]).{8,})/

看看是否两次都发生了,但我需要它来验证它们是否至少发生两次。 如果我像这样添加{2,}/((?=.*[0-9\@\&#\$\?\%!\|(){}[]]{2,})(?=.*[a-zA-Z]{2,}).{8,})/

然后以下不起作用,例如:a1a1a1a1a1

有人能帮助我吗?

2 个答案:

答案 0 :(得分:3)

这是你如何做到这一点,使用积极的前瞻:http://regex101.com/r/uW0yI4

/^(?=.*[a-z].*[a-z])(?=.*[!"#...\d].*[!"#...\d]).{8,}$/gmi

只需将!"#...替换为您想要匹配的所有符号。

注意:您的应用程序可能不需要多行标记。

答案 1 :(得分:0)

这可以为您提供所需的内容:

^((?=(.*[\d0-9\@\&#\$\?\%!\|(){}[\]]){2,})(?=(.*[a-zA-Z]){2,}).{8,})$