【问题标题】:Simple email-regexp doesn't allow hyphen before and after @简单的电子邮件正则表达式不允许在 @ 之前和之后使用连字符
【发布时间】:2013-03-13 15:41:15
【问题描述】:

我在网上某处发现了这个简单的正则表达式(我知道它可能并不完美)来验证电子邮件地址。

/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/

问题是,这个正则表达式不允许以下情况:

myname@test-domain.com
my-name@test-domain.com

有什么想法吗?

ps。我在 javascript 中使用这个正则表达式。

【问题讨论】:

    标签: regex validation email


    【解决方案1】:

    如果您只是想添加连字符,可以将正则表达式更改为:

    /^(?:\w+[\-\.])*\w+@(?:\w+[\-\.])*\w+\.\w+$/
    

    添加其他特殊字符,例如像下划线一样,只需将它们放在 first(而不是 second)的方括号对中,即将 [\-\.] 更改为 [\-\._]

    也可以看看this question and its anwer.

    【讨论】:

      猜你喜欢
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 2016-10-15
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多