0

正規表現パターンと照合するパスワード ボックスがあります。パスワード以外のテキスト ボックスで正しく動作する同じタイプの関数が他に 2 つあります。

これは私の機能です:

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

このサイトは正規表現が正しいことを確認しました

私が使用している TextBox (passwordbox) は、パスワード文字として * でフィルター処理されており、それは機能しますが、それが関数が失敗する原因であるかどうか疑問に思っていますか?

私が見逃したのは明らかなことだと感じています。応答は true として返されるはずですが、false として返されます。上記のリンクの5行目をテスト行として参照して、機能するかどうかを確認してください。これは、機能するかどうかを確認するために使用しているテスト行です。

4

1 に答える 1

2

.NETには正規表現の区切り文字は必要ないため、先頭と末尾のスラッシュを削除するだけです。

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