Age*_*unt 1 regex email validation email-validation
可能重复:
验证电子邮件地址的最佳正则表达式是什么?
我正在使用这个特定的正则表达式来检查电子邮件.
"^[A-Za-z0-9](([a-zA-Z0-9,=\.!\-#|\$%\^&\*\+/\?_`\{\}~]+)*)@(?:[0-9a-zA-Z-]+\.)+[a-zA-Z]{2,9}$"
Run Code Online (Sandbox Code Playgroud)
我的问题是,这允许在"@"符号之前的句点.是否有任何方式修改此表达式,以便不会发生这种情况,但仍保留所有其他条件.
a.@ b.com应无效
在此先感谢-Rollin
到目前为止我见过的最佳答案.老实说,如果你给出了你正在使用的语言或工具集的一些指示,我会指出你为你做的那个库,而不是告诉你如何手动滚动正则表达式.
编辑:鉴于这是在.NET上的其他信息,我会使用MailAddress该类并放弃使用正则表达式的想法,如下所示:
public bool IsAddressValid(string text)
{
try
{
MailAddress address = new MailAddress(text);
return true;
}
catch (FormatException)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
如果除了验证地址本身之外还有其他要求(例如确保它来自一组特定的域或某些域),那么在验证地址是否有效后,您可以通过更简单的测试来实现这一点.另一篇文章.