编译代码中的RegEx语法 - 密码

时间:2012-07-29 02:00:43

标签: regex syntax

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

1 个答案:

答案 0 :(得分:1)

我很确定它只是小小的!'在返回线上绊倒你。通过这样做,你说"不是匹配"。我在当地运行了你的代码以及发生了什么。