正则表达式电子邮件验证

我用这个

@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"

regexp验证电子邮件

([\w\.\-]+)-适用于一级域(许多字母和数字,也包括点和连字符)

([\w\-]+)-适用于二级域

((\.(\w){2,3})+)-适用于包含点和2或3的其他一级域(从3到无穷大)文字

这个正则表达式有什么问题?

编辑:它与“ something@someth.ing”电子邮件不匹配

回答:

TLD之类的.museum不能通过这种方式进行匹配,并且还有其他一些长TLD。此外,您还可以使用验证电子邮件地址MailAddress类如微软解释这里的注意事项:

可以使用System.Net.Mail.MailAddress类,而不是使用正则表达式来验证电子邮件地址。若要确定电子邮件地址是否有效,请将电子邮件地址传递给MailAddress.MailAddress(String)类构造函数。

public bool IsValid(string emailaddress)

{

try

{

MailAddress m = new MailAddress(emailaddress);

return true;

}

catch (FormatException)

{

return false;

}

}

这省去了很多麻烦,因为您不必编写(或尝试了解别人的)正则表达式。

以上是 正则表达式电子邮件验证 的全部内容, 来源链接: utcz.com/qa/435183.html

回到顶部