首页 > 代码库 > 检查密码复杂度的C#正则表达式

检查密码复杂度的C#正则表达式

原文:检查密码复杂度的C#正则表达式

在用户注册与修改、重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一。

而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字、小写或大写字母、特殊字符、字符数在8-30之间,对应的正则表达式如下: 

var regex = new Regex(@"(?=.*[0-9])                     #必须包含数字(?=.*[a-zA-Z])                  #必须包含小写或大写字母(?=([\x21-\x7e]+)[^a-zA-Z0-9])  #必须包含特殊符号.{8,30}                         #至少8个字符,最多30个字符", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);

如果要求必须包含小写、大写字母,则上面的 (?=.*[a-zA-Z]) 要改为:

(?=.*[a-z])(?=.*[A-Z])

相关博问:匹配键盘上所有特殊字符的正则表达式如何写

检查密码复杂度的C#正则表达式