【问题标题】:Email address regular expression, limited character before and after @ symbol电子邮件地址正则表达式,@ 符号前后的有限字符
【发布时间】:2020-05-28 17:46:11
【问题描述】:

我有一个检查有效电子邮件的正则表达式。

/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

如何将@之前的字符数限制为64,@之后的字符数为64。

【问题讨论】:

  • 不使用+*,而是使用范围,即{1,}{0,}

标签: javascript regex reactjs validation


【解决方案1】:

这是一个简单的正则表达式示例:

/^[a-zA-Z]{7}$/

这个表达的意思是:

  • A-Z 之间的单个字符
  • a-z 之间的单个字符
  • 最后,准确匹配 7 次 -> {7}

您可以简单地添加您的正则表达式 {64} 来检查它是否为 64 个字符。

【讨论】:

    【解决方案2】:

    两种选择:

    1. 在您的长正则表达式测试之后,对长度进行第二次正则表达式测试:

      /^.{1,64}@.{1,64}$)$/

    2. 为您的正则表达式添加一个积极的前瞻:

      /(?=^.{1,64}@.{1,64}$)^(YOUR REGEX)$/

    【讨论】:

    • @AmigoJack:是的,结果相同,甚至可能更快
    • 速度不是重点:在找到@ 之前,您想要的不是@ - 在这种情况下,切勿盲目使用.
    • @AmigoJack:如果这是对电子邮件地址的唯一验证,那么您是对的。如前所述,我的两个示例都假设 charles okojie 将使用他的验证我的长度检查正则表达式。
    猜你喜欢
    • 1970-01-01
    • 2013-04-09
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多