【问题标题】:Regex for custom email validation [duplicate]用于自定义电子邮件验证的正则表达式 [重复]
【发布时间】:2019-02-15 19:09:09
【问题描述】:

尝试为以下规则创建自定义电子邮件验证

  1. 本地部分最长可达 64 个字符,由字母字符、数字或以下任何特殊字符的任意组合组成: ! # $ % & ‘ * + – / = ? ^_`。 { | } ~
  2. 句点字符(“.”)对本地部分有效,但受以下限制: A. 它不是第一个或最后一个字符 B. 两个或多个连续时期
  3. 顶级域不能全是数字
  4. 连字符不能是第一个或最后一个字符

^([a-zA-Z0-9!#\$%&'*+/\=\?\^_'`}{\|~-][.]?)@[a -zA-Z0-9]+(?:(.)\0?(?!\1))[a-zA-Z0-9-]*[a-zA-Z0-9]+( .[a-zA-Z0-9]{2,63})+$

First part (before @ )is good but unable to place
  • 两个或多个连续周期
  • 连字符不能是第一个或最后一个字符

    例如

  • leela.test@te-st.gm-ail.com(正确)
  • leela.test@te-st..gm-ail.com(不正确)
  • leela.test@.te-st.gm-ail.com(不正确)
  • leela.test@-te-st.gm-ail-.com(不正确)
  • leela.test@.te-st.gm-ail-.com(不正确)
  • leela.test@test.gmail.com(正确)
  • leela@gmail.com(正确)
  • leela@test.gm-ail.com(正确)

请帮忙。

【问题讨论】:

  • 这里已经有许多电子邮件正则表达式,但这里是针对您的具体情况的尝试:regex101.com/r/uQMH2p/1

标签: regex email-validation


【解决方案1】:
[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*\@[a-zA-Z0-9]+\-[A-Za-z0-9]+\.[a-zA-Z0-9]+\-[A-Za-z0-9]+\.com

【讨论】:

  • 请解释一下这个解决方案
  • @revaljilji, 这也需要匹配 leela.test@test.gmail.com, leela@gmail.com, leela@test.gm-ail.com
猜你喜欢
  • 2023-03-14
  • 2014-12-09
  • 2019-08-27
  • 2015-12-20
  • 2010-10-30
  • 1970-01-01
  • 2011-06-24
  • 2015-07-04
相关资源
最近更新 更多