RegEx用于验证电子邮件

时间:2014-02-06 16:19:33

标签: regex validation email

我搜索了这个网站,发现了许多处理这个主题的主题。但不知道为什么没有人意识到电子邮件格式变化很大,并且不限于xxx@ddd.com或类似的东西,例如xxxx@ddddd.rr.com是有效的电子邮件地址,因此是xxx @ddd。博物馆 。我尝试了几乎所有可用于验证电子邮件的正则表达式,但没有一个用于此验证。然后是.info,.museum等的电子邮件。

我在正则表达式上很穷。只是想知道是否有人可以写一个非常广泛的快递,检查“至少一个@和一个或多个点,没有逗号。”我知道它不会完美,但至少它不会拒绝有效的电子邮件地址。

3 个答案:

答案 0 :(得分:1)

我虽然这可行: \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]+\b

答案 1 :(得分:0)

我最好的选择是\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*。这岩石。

它的官方微软电子邮件正则表达式,我从我的视觉工作室2013年终极版获得:)

答案 2 :(得分:0)

由于你的问题似乎集中在捕获'@'之后的内容,我只是简单地发布正则表达式。以下内容适用于您:

@((\w+(-+\w+)*\.)+\w+(-+\w+)*\b

为了打破它,这将捕获:

  1. @
  2. 至少重复一次“单词”(可包括但不以短划线开头或结尾)后跟一个点: ((\w+(-+\w+)*)\.)+
  3. 最后一个“字”(再次,可以包括但不以破折号开头或结尾):\w+(-+\w+)*\b
  4. 为了打破“单词”正则表达式\w+(-+\w+)*),我正在捕捉:

    1. 至少一个字母数字字符\w+
    2. 以下任意数量:
      1. 至少有一个短划线-+后跟
      2. 至少一个字母数字字符\w+