0

如何在 c# 中使用正则表达式验证以下不正确的电子邮件地址?

例如:

test@test.com.net.com

或者

test@test.net.net.org

这些正在被验证为正确的电子邮件地址。有什么想法吗?谢谢

4

3 回答 3

2

虽然test@test.com.net.comtest@test.net.net.org都是有效的,但从句法的角度来看,它们的域部分并不指向现有域。对于这种测试,您可能希望提取您感兴趣的域部分并查询 DNS(请参阅RFC 2821RFC 2822)以查看它是否存在。

由于您使用的是 .NET,顺便说一下,我建议您看看我们的EmailVerify.NET,这是一个领先的电子邮件验证库,可以验证语法(根据最新的 IETF 标准)、域部分和存在您的电子邮件地址的邮箱。

于 2012-10-12T05:54:58.053 回答
1

您可能只想使用类似的东西:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

有关列表,请参阅页面。

于 2012-10-11T00:00:15.003 回答
0

请考虑这个正则表达式:

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

它将匹配所有电子邮件地址,如果与电子邮件地址不匹配,则电子邮件广告格式不正确,希望对您有所帮助:)

于 2012-10-11T02:38:23.790 回答