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);
//校验密码是否符合
bool pwdIsMatch = regex.IsMatch(user.USER_PASS);

原文:https://www.cnblogs.com/dudu/p/regex-password-strength.html

原文地址:https://www.cnblogs.com/Jackie-sky/p/13183968.html