我正在编写正则表达式来验证密码。条件是:
密码必须至少包含两个特殊字符
密码长度必须至少为八个字符
我可以使用下面的正则表达式确保至少有8个字符,至少一个字母,至少一个数字和至少一个特殊字符:
(?=.*[A-z])(?=.*[0-9])(?=.*?[!@#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`]).{8,32}
只有条件我无法获得是否必须至少有两个特殊字符(以上Reg exp是至少一个特殊字符)。有没有人对此有任何想法?
提前致谢。
答案 0 :(得分:1)
只有条件我无法获得是否必须至少有两个特殊字符。
将前瞻中存在的图案放在一个组内,然后使其重复两次,使其成为两次。
^(?=.*[A-Za-z])(?=.*[0-9])(?=(?:.*?[!@#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`]){2}).{8,32}$
如果您想允许至少8个字符,那么您不需要在范围量词中包含32
,只需.{8,}
即可。