javascript - 拒绝绝对无效的电子邮件地址的最不坏的正则表达式是什么?

标签 javascript jquery regex email-validation

<分区>

Possible Duplicate:
Validate email address in Javascript?

我知道没有办法仅使用正则表达式来验证电子邮件地址,但我认为我应该能够拒绝一些明显无效的地址,以帮助错误输入不同内容的友好用户,例如他们的姓名或密码输入电子邮件地址字段。 因此,我不想拒绝任何有效的电子邮件地址,但想仅使用正则表达式拒绝尽可能多的无效电子邮件格式。但我想任何 javascript/jquery/... 都可以。

这是我目前所拥有的:

^.+@.+\..+$

是的,没有用于真正验证的正则表达式,但应该有一些用于拒绝。不,这不会阻止任何人输入虚假地址。是的,您仍然需要发送确认电子邮件以验证真实性。

上面的正则表达式将从 javascript 中使用。

--

在 .NET 中,我会让 .NET 使用

验证电子邮件格式
    try
    {
      var mailAddress = new MailAddress(possibleMailAddress);
    }

如果正常,请检查域部分的 DNS 记录,看看是否有电子邮件服务器。只有当 DNS 记录清楚地表明没有电子邮件服务器或没有这样的域时,电子邮件地址才会被拒绝。然后缓存一些结果以加速 future 的查找。

不过,我必须发送确认电子邮件进行验证...

最佳答案

官方标准RFC 2822使用此正则表达式描述有效电子邮件地址的语法:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

关于javascript - 拒绝绝对无效的电子邮件地址的最不坏的正则表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625810/

相关文章:

javascript - 谷歌地图矩形 mouseDown 和 mouseUp 事件无法在边界触发

javascript - 动态图像大小以填充固定大小的 div - Javascript/CSS

jquery - 通过特殊属性Jquery隐藏页面上的按钮

c# - 什么正则表达式将匹配不包括 HTML 标签内内容的文本?

python - 用破折号替换任何非 A-Z、非数字的最佳 Python 方式

python - HTML 标签中内容的正则表达式模式

javascript - 使用 AJAX 和 jQuery 完成表单输入

javascript - 旋转后如何裁剪图像?

jquery - 禁用日历中的所有日期

jquery - 同时突出显示在 jquery 中找到的文本