正则表达式验证电子邮件,只允许这两个特殊符号。, - @符号之前

时间:2014-07-27 10:48:44

标签: 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
  3. Vaild电子邮件ID:

    1. hello-world@gmail.com
    2. hello.world@gmail.com
    3. InVaild电子邮件ID:

      1. 您好!#%#@ gmail.com
      2. helloworld@-gmail.com
      3. @ 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');
        }
        

1 个答案:

答案 0 :(得分:3)

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

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