【问题标题】:email address validation in JavaScript using regular expression [duplicate]使用正则表达式在 JavaScript 中验证电子邮件地址 [重复]
【发布时间】:2015-10-11 13:26:46
【问题描述】:

我目前正在尝试使用 JavaScript 中的正则表达式验证电子邮件地址。这些是电子邮件地址的要求:

  1. 电子邮件字段包含用户名部分,后跟“@”和域名部分。
  2. 用户名包含连字符(“-”)和句点(“.”)等单词字符。
  3. 域名包含两到四个部分的字母字符词扩展。
  4. 每个单词扩展都用句点(“.”)分隔,最后一个扩展必须有两到三个字符。

在四个要求中,第三个最让我困惑。如果有人可以帮助我,我将不胜感激。谢谢。

我已经尝试了this页面中的第一个答案,但是这个答案甚至接受了5个或更多的扩展,所以它不符合我的第三个要求。

【问题讨论】:

  • the last extension must have two to three characters - 老派,您将排除许多新顶级域名
  • 我认为使用 HTML5 验证会更容易。
  • 您的要求错误,将拒绝许多有效的电子邮件地址。
  • 那你为什么不能适应呢?大多数情况下,我们不以定制代码进行交易。至少它不是任务的一部分。

标签: javascript validation email


【解决方案1】:

对于 Javascript,这是您需要的符合 RFC 5322 标准的正则表达式:

/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i

旁注:最好使用非常弱的正则表达式(基本上只是匹配“@”)并发送确认电子邮件。

【讨论】:

    猜你喜欢
    • 2016-11-15
    • 2015-08-24
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多