使用正则表达式验证MVC .net密码

时间:2015-03-25 11:58:14

标签: regex asp.net-mvc

我正在编写正则表达式来验证密码。条件是:

  1. 密码必须至少包含两个特殊字符

  2. 密码长度必须至少为八个字符

  3. 密码必须为字母数字
  4. 我可以使用下面的正则表达式确保至少有8个字符,至少一个字母,至少一个数字和至少一个特殊字符:

    (?=.*[A-z])(?=.*[0-9])(?=.*?[!@#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`]).{8,32}
    

    只有条件我无法获得是否必须至少有两个特殊字符(以上Reg exp是至少一个特殊字符)。有没有人对此有任何想法?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

  

只有条件我无法获得是否必须至少有两个特殊字符。

将前瞻中存在的图案放在一个组内,然后使其重复两次,使其成为两次。

^(?=.*[A-Za-z])(?=.*[0-9])(?=(?:.*?[!@#$%\^&*\(\)\-_+=;:'""\/\[\]{},.<>|`]){2}).{8,32}$

如果您想允许至少8个字符,那么您不需要在范围量词中包含32,只需.{8,}即可。