1

我正在使用 asp.net 验证控件来验证电子邮件地址。电子邮件地址存在问题,因为它包含以下字符。“-。” 例如,电子邮件地址 w.-a.wsdf.com 由于其中的“.-”而无法验证。我正在四处寻找禁止这样做但找不到任何电子邮件标准。我应该将 asp.net 正则表达式更改为自定义正则表达式以允许这样做还是这不是有效的电子邮件地址?

我现在使用的正则表达式是:\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

4

5 回答 5

0

你会得到很多答案。这个一直为我服务:

/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

最初是在 Michael Hartl 的 Rails 书中找到的

于 2013-11-08T15:36:03.540 回答
0
^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$
于 2013-11-08T15:37:23.413 回答
0

正则表达式很棒,但正如我在其他答案中所显示的那样,用它们验证电子邮件地址根本不是一件容易的事。

根据我的经验,我建议:

  • 坚持最简单的电子邮件验证正则表达式,^.+@.+$并发送带有激活链接的确认电子邮件;

或者

  • 完全避免使用正则表达式并使用我的EmailVerify for .NET 之类的库,它公开了一个自定义的、微调的有限状态机,用于根据(所有)相关 IETF 标准以及一次性、DNS、SMTP、邮箱测试验证电子邮件地址.

显然,您可以混合使用这两种选择,也许避免使用正则表达式,但无论如何都要发送确认链接。

免责声明:我是 EmailVerify for .NET 的技术负责人,这是一个用于验证电子邮件地址的 Microsoft .NET 组件。

于 2013-11-09T12:59:46.663 回答
0

下面的正则表达式禁止 w.-a.wsdf.com

using System.Text.RegularExpressions;

public static bool IsValidEmail(string email)
{
    return Regex.IsMatch(email, @"\A[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}\z")
        && Regex.IsMatch(email, @"^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*");
}

请参阅在 C# 中使用正则表达式验证电子邮件地址

于 2013-11-16T04:13:16.730 回答
-1

在 html 中输入文本和像这样的按钮输入 现在,当单击按钮时,将调用 JavaScript 函数 SubmitFunction()。现在在这个函数中编写下面的代码。


功能检查电子邮件(){

    var email = document.getElementById('txtEmail');
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0- 9]{2,4})+$/;

    if (!filter.test(email.value)) {
    alert('请提供有效的电子邮件地址');
    电子邮件.focus;
    返回假;
 }
}

*它的作品*

于 2014-01-24T17:39:25.363 回答