我有一个正则表达式,我用它来检查一个字符串,看看它是否是电子邮件地址:
@"^((([\w]+\.[\w]+)+)|([\w]+))@(([\w]+\.)+)([A-Za-z]{1,3})$"这适用于我测试过的所有电子邮件地址,前提是“@”前的部分至少有四个字符。
作品:
web1@domain.co.uk不起作用:
web@domain.co.uk如何更改正则表达式以允许少于4个字符的前缀??
发布于 2013-02-16 02:59:27
我建议不要使用正则表达式来验证电子邮件(基于此处列出的原因) http://davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/
如果你不能发送确认邮件,在C#中一个很好的选择是尝试创建一个MailAddress并检查它是否失败。
如果您使用的是ASP.NET,则可以使用CustomValidator来调用此验证方法。
bool isValidEmail(string email)
{
try
{
MailAddress m = new MailAddress(email);
return true;
}
catch
{
return false;
}
}发布于 2013-02-12 21:42:11
在asp.net mvc帐户模型中用于电子邮件验证的“标准”正则表达式如下:
@"^[\w-]+(\.[\w-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$"它允许在@之前使用1+字符
发布于 2013-02-12 21:57:49
我认为检查有效电子邮件地址的最好方法是让用户输入两次,然后给他发送一封电子邮件,并使用验证链接质疑他收到了这个地址。
检查你的正则表达式和一个奇怪的有效电子邮件addresses列表,你会发现正则表达式对于电子邮件验证任务并不完美。
https://stackoverflow.com/questions/14833824
复制相似问题