【问题标题】:Regex pattern check is not working even after verifying the pattern即使在验证模式后,正则表达式模式检查也不起作用
【发布时间】:2023-04-02 10:46:01
【问题描述】:

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

这是我的功能:

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);

site 已验证正则表达式正确

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

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

【问题讨论】:

    标签: c# regex textbox passwords pattern-matching


    【解决方案1】:

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

    string patternStrict = @"^(?=.*[a-zA-Z])(?=.*\d)\S{6,15}$";
    

    【讨论】:

    • 天才,我不敢相信它一如既往的简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2017-03-03
    • 2015-03-27
    • 1970-01-01
    • 2013-09-08
    相关资源
    最近更新 更多