Regex的密码强度检查-如何通过第一次验证,但不通过包含的示例中的第二次验证

本文关键字:验证 包含 第二次 检查 Regex 第一次 何通过 密码 | 更新日期: 2023-09-27 18:21:03

在下面的第一次代码测试中,如果第二次测试失败,我可以用什么字符串输入?

 public static bool ValidatePassword(string password)
    {
        const string symbolsDisallowed = "<>";
        if (password.Length < 8) return false;
        var categories = new[] { @"'d", "[A-Z]", "[a-z]", @"[^'dA-Za-z" + symbolsDisallowed + "]" };
        var matchCount = categories.Count(c => Regex.IsMatch(password, c));
        return matchCount >= 3 && !Regex.IsMatch(password, @"[" + symbolsDisallowed + "]");
    }

第二个

        public static bool ValidatePasswordStrength(string password)
    {
        if (password.Length < 8) return false;
        var categories = new[] { @"'d", "[A-Z]", "[a-z]", @"[!@#$%&'/=?_.,:;-]" };
        var matchCount = categories.Count(c => Regex.IsMatch(password, c));
        return matchCount >= 3;
    }

感谢

Regex的密码强度检查-如何通过第一次验证,但不通过包含的示例中的第二次验证

您可以使用AAAaaa++

+是允许的(第一次测试),但不包括在第二次测试的"特殊符号"类别中。

啊。。好的.

  • ~aa4~~~~
  • ^^AA4^^~
  • ~4g~~~
  • ()~4F[][]
  • (())|aaa