2011-02-02 55 views
1

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

+3

'[^ @] +'将不匹配的现代化的电子邮件地址。 – 2011-02-02 13:39:39

+0

良好的验证不会拒绝,但指定允许的内容。您的文字是否包含“@”? – 2011-02-02 13:41:01

+0

是文本不能包含'@' – Hiyasat 2011-02-02 13:42:51

回答

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 = "[email protected]"; 
Match m = emailregex.Match(s); 
if (!m.Success) { 
    //Not an email address 
} 

但是,要非常警告其他人比你更聪明,我还没有找到完美的电子邮件正则表达式。如果你想要一些防弹的话,那就远离你目前的做法吧。

4

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

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