0

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

 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;
    }

谢谢

4

2 回答 2

3

你可以使用AAAaaa++.

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

于 2013-07-05T08:27:57.770 回答
1

啊……好吧……

  • ~aa4~~~~
  • ^^AA4^^~
  • ~4g~~~
  • ()~4F[][]
  • (())|aaa
于 2013-07-05T08:36:18.127 回答