【问题标题】:regex to validate emails which allows only these two special symbols .,- before @ symbol [duplicate]正则表达式来验证仅允许这两个特殊符号的电子邮件。,-在@符号之前[重复]
【发布时间】:2023-04-07 23:39:01
【问题描述】:

我使用下面的正则表达式进行电子邮件验证。

var reg = /^(([^<>()[\]\\.,;:\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,}))$/;

如何验证以下两个电子邮件 ID,例如

  1. 你好!%#%^world@gmail.com
  2. helloworld@-gmail.com

有效的电子邮件 ID:

  1. hello-world@gmail.com
  2. hello.world@gmail.com

无效的电子邮件 ID:

  1. 你好!#%#@gmail.com
  2. helloworld@-gmail.com

@gmail.com 之前不允许有特殊字符

下面是我的 JavaScript 代码

var re = /^(([^<>()[\]\\.,;:\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,}))$/;

if (!re.test($(this).val())) {
    errmsg.push($(this).attr('placeholder') + ' is invalid');
}

【问题讨论】:

  • 我希望你也在做服务器端验证?记住 JS 可以被禁用。我假设你已经看过这个thread
  • 发布一些有效和无效电子邮件 ID 的示例。
  • Myname.mysurnane+something@gmail.com 是有效的 gmail 地址
  • @AvinashRaj 我已经更新了这个问题。如果不清楚,请告诉我
  • @James 我已经尝试了 4-5 次正则表达式仍然找不到符合我要求的那个.. 感谢您的写作

标签: javascript regex email


【解决方案1】:

您可以尝试下面的正则表达式来验证电子邮件,它只允许.,-@ 符号之前这两个特殊符号。

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

DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2012-06-29
    • 1970-01-01
    • 2014-07-29
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多