我正在使用以下代码模式进行密码验证。由于某种原因,正则表达式语法适用于外部站点,但不适用于编译代码。换句话说,它在应该返回 true 时返回 false。
这在编译代码中不起作用(参见示例作为注释),但在http://www.regexlib.com之类的站点中起作用:
我有点难过....任何帮助都非常感谢。c#, MVC3,
// Function to check for valid password.
public bool IsPassword(String strToCheck)
{
// Password expresion that requires one lower case letter, one upper case letter, one digit, 6-13 length, and no spaces.
// 1agdA*$# | 1agdA*$# | 1agdA*$#
var objPasswordPattern = new Regex(@"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{6,13}$");
return !objPasswordPattern.IsMatch(strToCheck);
}