0

重複の可能性:
正規表現を使用して電子メールアドレスを検証する電子
メールの検証-正規表現

次のコードを使用してC#でメールアドレスを検証していますが、常に失敗する理由がわかりません。

 var regEx = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})";

        if (Regex.IsMatch(regEx, "abcde@gmail.com", RegexOptions.IgnoreCase))
            return true;
        else
            return false;

私がここで欠けているものを誰かが指摘できますか?

4

2 に答える 2

2

これを試して:

[Test]
public void EmailTest()
{
    var pattern = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})";
    Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
    var address = "abcde@gmail.com";
    Assert.IsTrue(Regex.IsMatch(address, pattern,RegexOptions.IgnoreCase));
    Assert.IsTrue(regex.IsMatch(address));
}

文字列とパターンの順序が間違っています。

このスレッドもチェックしてください

于 2012-11-12T11:17:29.263 に答える
1

IsMatchパラメータの使い方が間違っています。1つ目は入力、2つ目はパターンです。

于 2012-11-12T11:22:40.597 に答える