0

我正在使用以下代码模式进行密码验证。由于某种原因,正则表达式语法适用于外部站点,但不适用于编译代码。换句话说,它在应该返回 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);
    }
4

1 回答 1

1

我很确定这只是一个小“!” 在让你绊倒的返回线上。通过这样做,您是在说“不匹配”。我在本地运行了您的代码,这就是发生的事情。

于 2012-07-29T02:50:44.437 回答