Regex 是";somestring@somestring.&引用;有效的电子邮件地址?

Regex 是";somestring@somestring.&引用;有效的电子邮件地址?,regex,validation,email,Regex,Validation,Email,在.NET应用程序中验证电子邮件地址时,建议只使用maildaddress(String)构造函数,如果参数的格式不适合电子邮件地址,则该构造函数将引发异常。关于什么是合适的电子邮件地址和什么不是合适的电子邮件地址,存在着一些误区,甚至谷歌也因为提供了一个正则表达式(regex),其中包括不适当地取消带有记号的地址的资格 说到这里,我注意到一个例子,其中一个字符串的格式是somestring@somestring.没有被构造函数作废,尽管点的右边没有任何内容。我确实认为所有不使用IP地址的东西都

在.NET应用程序中验证电子邮件地址时,建议只使用
maildaddress(String)
构造函数,如果参数的格式不适合电子邮件地址,则该构造函数将引发异常。关于什么是合适的电子邮件地址和什么不是合适的电子邮件地址,存在着一些误区,甚至谷歌也因为提供了一个正则表达式(regex),其中包括不适当地取消带有记号的地址的资格


说到这里,我注意到一个例子,其中一个字符串的格式是
somestring@somestring.
没有被构造函数作废,尽管点的右边没有任何内容。我确实认为所有不使用IP地址的东西都需要一个点和它右边的东西,但是,
admin@mailserver1
的格式完全有效。但格式仍不完全相同,因此我运行了两个测试:

这听起来像是
somedomain
somedomain.
都是合法的域名,它们实际上是等价的,尽管它也说一些程序在处理类似的事情方面比其他程序更好

我到底应该相信什么?有很多.NET开发人员使用该构造函数,而不是正则表达式,因为它比您在互联网上找到的大多数正则表达式都要精确,而且它不需要花费大量时间和精力才能正确。我已经看到它在我个人尝试过的几乎所有其他案例中都有效


somestring@somestring.
的有效格式?

有效的电子邮件地址比你想象的要复杂得多。通过阅读了解它有多复杂。以及

编辑:淘汰2822

这些都是有效的电子邮件地址

"Abc\@def"@example.com
"Fred Bloggs"@example.com
"Joe\\Blow"@example.com
"Abc@def"@example.com
customer/department=shipping@example.com
\$A12345@example.com
!def!xyz%abc@example.com
_somename@example.com
我也经常使用电子邮件+whatever@gmail.com给我的电子邮件子地址。它有助于过滤我的电子邮件(并找出垃圾邮件的来源)。看


更多关于

是;这是一个有效的FQDN。您是说它将是有效的吗?
somestring@somestring.
带尾随的
无效,没有尾随的则有效。您也可以使用此项来验证
"Abc\@def"@example.com
"Fred Bloggs"@example.com
"Joe\\Blow"@example.com
"Abc@def"@example.com
customer/department=shipping@example.com
\$A12345@example.com
!def!xyz%abc@example.com
_somename@example.com