javascript - 用于验证仅允许这两个特殊符号的电子邮件的正则表达式 .,- 在 @ 符号之前

标签 javascript regex email

<分区>

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

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');
}

最佳答案

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

^[^<>()[\]\\,;:\%#^\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

关于javascript - 用于验证仅允许这两个特殊符号的电子邮件的正则表达式 .,- 在 @ 符号之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24980174/

相关文章:

regex - 如何匹配 perl 正则表达式中最后一次出现某个 char 之后的所有内容?

c++ - 有没有办法在单次迭代中进行任意数量的正则表达式替换?

javascript - 使用作业队列(kue/node/express)时将响应发送回请求者

javascript - GoogleTV 发布网络应用程序

javascript - 如何从 A-Frame 上的 GLB 3D 对象获取动画剪辑的名称?

javascript - 如何在 tinyMCE 中自定义单个文本区域

javascript - 更新全局变量

javascript - 从字符串中获取td的innerhtml [JS]

c# - .NET System.Net.Mail 消息在内部服务器上始终被标记为垃圾邮件

java - 如果地址是别名,如何使用 ews-java-api 识别收件人电子邮件?