为了避免用户输入一些弱密码,可以用户创建密码的时候,强制使用一些规则来让用户输入强密码。这时候就要用到JavaScript的密码复杂验证了。

使用正则表达式

密码的强度验证使用正则表达式,但我们避免将所有规则都写到一个正则表达式中,这样不仅难写,而且阅读不友好。所以分开来写是一个更好的选择。

还是直接上代码。

服务端验证

 
public string ValidPassword(string password)
{

    var passwordValids = new Dictionary<string, string>() {
            { "^.{8,16}$", "需要 8 - 16 位" },
            { "[A-Z]", "需要大写字母" },
            { "[a-z]", "需要小写字母" },
            { "[0-9]", "需要数字" },
            { "[^A-Za-z0-9_]", "需要特殊字符" }
        };
    foreach (var item in passwordValids)
    {
        if (!Regex.IsMatch(password, item.Key))
        {
            return item.Value;
        }
    }
    return string.Empty;

}

See the Pen Javascript password requirements by seriawei (@seriawei) on CodePen.