0

我有一个密码框,我要对照正则表达式模式进行检查。我已经有了另外两个相同类型的函数,它们可以在非密码文本框上正常工作。

这是我的功能:

public bool CheckPassword(string password)
{
    string patternStrict = @"/^(?=.*[a-zA-Z])(?=.*\d)\S{6,15}$/";
    Regex reStrict = new Regex(patternStrict);
    bool isStrictMatch = reStrict.IsMatch(password);
    return isStrictMatch;
}

我正在输入一个测试,如下所示:

Problem.Text = CheckPassword(passwordbox.Text);

站点已验证正则表达式正确

我正在使用的文本框(密码框)使用 * 作为密码字符进行过滤,并且有效,但我想知道这是否是函数失败的原因?

我觉得这很明显我错过了。响应应该返回为真,但返回为假。请参阅上面提供的链接的第 5 行作为测试行,看看它是否有效,这是我用来检查它是否有效的测试行。

4

1 回答 1

2

.NET 不需要正则表达式分隔符,因此只需删除前导和尾随斜杠:

string patternStrict = @"^(?=.*[a-zA-Z])(?=.*\d)\S{6,15}$";
于 2012-06-04T10:30:36.727 回答