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;
}
感谢
您可以使用AAAaaa++
。
+
是允许的(第一次测试),但不包括在第二次测试的"特殊符号"类别中。
啊。。好的.
- ~aa4~~~~
- ^^AA4^^~
- ~4g~~~
- ()~4F[][]
- (())|aaa