我需要一个验证密码格式的正则表达式模式。 规则是:
我想出了以下内容:
/((?=.*[0-9\@\&#\$\?\%!\|(){}[]])(?=.*[a-zA-Z]).{8,})/
看看是否两次都发生了,但我需要它来验证它们是否至少发生两次。
如果我像这样添加{2,}
:
/((?=.*[0-9\@\&#\$\?\%!\|(){}[]]{2,})(?=.*[a-zA-Z]{2,}).{8,})/
然后以下不起作用,例如:a1a1a1a1a1
有人能帮助我吗?
答案 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,})$