正则表达式,以防止文本框接受电子邮件地址

时间:2011-02-02 13:37:13

标签: c# asp.net regex

我可以使用什么正则表达式来阻止文本框接受电子邮件地址?

4 个答案:

答案 0 :(得分:4)

只需使用电子邮件地址的正则表达式,并检查没有匹配项。

答案 1 :(得分:4)

Regex emailregex = new Regex("([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})");
String s = "johndoe@example.com";
Match m = emailregex.Match(s);
if (!m.Success) {
   //Not an email address
}

然而,要非常警告其他人比你更聪明,我还没有找到完美的电子邮件正则表达式。如果你想要一些防弹的东西,那就远离你当前的方法。

答案 2 :(得分:2)

阅读How to Find or Validate an Email Address,然后检查没有匹配或否定表达。

答案 3 :(得分:1)

应该是这样的:

Regex emailRegex = new Regex(@"([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]    {1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})");
Match m = emailRegex.Match(this.emailAddress);
if (!m.Success) {
    MessageBox.Show("Email address is not correct");
} else { 
    Application.Exit();
}