gpt4 book ai didi

javascript - 电子邮件验证表达式允许下划线

转载 作者:行者123 更新时间:2023-11-30 14:23:43 26 4
gpt4 key购买 nike

电子邮件验证表达式 /^(?!_)\w+([\.-]?\w+)*@(?!_)\w+([\.-]?\w+)*(\.\w{2,3})+$/ 在某些情况下允许使用下划线,但在其他情况下效果很好。

它不会失败以下电子邮件地址:

tets_name@gmail.com
test____name@gmail.com

这是模式:

var pattern =/^(?!_)\w+([\.-]?\w+)*@(?!_)\w+([\.-]?\w+)*(\.\w{2,3})+$/;     
if (pattern.test(Email)) {
return false;
}

我怎样才能限制它不允许下划线?

最佳答案

请注意,\w 匹配 ASCII 字母 ([A-Za-z])、数字 ([0-9]) 和下划线。

为确保您的正则表达式不匹配下划线,将所有 \w 替换为 [a-zA-Z0-9] 和最后一个 \w{2 ,3}可以替换为[a-zA-Z]{2,3}:

/^[a-zA-Z0-9]+(?:[.-][a-zA-Z0-9]+)*@[a-zA-Z0-9]+(?:[.-][a-zA-Z0-9]+)*\.[a-zA-Z]{2,3}$/

如果您计划匹配在字母/数字之间仅包含单个下划线且不在开始/结束处使用的电子邮件

/^[a-zA-Z0-9]+(?:[_.-][a-zA-Z0-9]+)*@[a-zA-Z0-9]+(?:[_.-][a-zA-Z0-9]+)*\.[a-zA-Z]{2,3}$/

参见 this regexanother regex here .

详情

  • ^ - 字符串的开始
  • [a-zA-Z0-9]+ - 1 个或多个 ASCII 字母/数字
  • (?:[.-][a-zA-Z0-9]+)* - 零个或多个序列
    • [.-] - 一个点或 -(不需要在字符类中转义一个点)
    • [a-zA-Z0-9]+ - 1 个或多个 ASCII 字母/数字
  • @ - @ 字符
  • [a-zA-Z0-9]+ - 1 个或多个 ASCII 字母/数字
  • (?:[.-][a-zA-Z0-9]+)* - 零个或多个序列
    • [.-] - 一个点或 -(不需要在字符类中转义一个点)
    • [a-zA-Z0-9]+ - 1 个或多个 ASCII 字母/数字
  • \. - 一个点
  • [a-zA-Z]{2,3} - 2 或 3 个 ASCII 字母
  • $ - 字符串结尾。

关于javascript - 电子邮件验证表达式允许下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52290748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com