Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的字母数字电子邮件验证_Javascript_Regex - Fatal编程技术网

javascript中的字母数字电子邮件验证

javascript中的字母数字电子邮件验证,javascript,regex,Javascript,Regex,我正在使用下面的正则表达式验证电子邮件以接受字母数字字符。它适用于以下情况 1) 必须至少包含一个字母 2) 允许字母数字 3) 允许使用特殊字符-和 正则表达式: /^([a-zA-Z0-9])([a-zA-Z0-9])*([a-zA-Z0-9])?([a-zA-Z0-9])*@([a-zA-Z0-9\-])+([a-zA-Z]{2,4})+$/i 案例: 1111@gmail.com-允许 aaaa@gmail.com-允许 aa1_aa@gmail.com-允许 预期输出: 1111@gm

我正在使用下面的正则表达式验证电子邮件以接受字母数字字符。它适用于以下情况

1) 必须至少包含一个字母 2) 允许字母数字 3) 允许使用特殊字符
-和

正则表达式:

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

案例:

1111@gmail.com-允许

aaaa@gmail.com-允许

aa1_aa@gmail.com-允许

预期输出:

1111@gmail.com-不允许,因为它在@

aaaa@gmail.com-允许

a1@gmail.com-允许

1a@gmail.com-允许

aa1_aa@gmail.com-允许


她的是jsfiddle

您的正则表达式将完成这项工作,只需在开头添加它

(?=[^@]*[A-Za-z])
使您的最终正则表达式如下所示:

/^(?=[^@]*[A-Za-z])([A-Za-Z0-9])([A-Za-Z0-9])*([A-Za-Z0-9])?([A-Za-Z0-9])+([A-Za-Z0-9\-])+([A-Za-z]{2,4})+$/i

(?=exp)
是积极的前瞻。它将尝试在不匹配的情况下查找表达式。“向前看”实际上匹配字符,但随后放弃匹配

(?=[^@]*[A-Za-z])
:将匹配
[^@]*[A-Za-z]
,表示除后面跟字母表的
@
之外的任何内容。因此,如果
@


您可以

以下是JavaScript代码:

var email_to_check = "1111@gmail.com";
email_check=email_to_check.substring(0,email_to_check.lastIndexOf("@"));
var isnum = /^\d+$/.test(email_check);
var email_regex = /^([a-zA-Z0-9!@#$%^&*(){}|:"<>?\/';\\+\-~]*@[a-zA-z]+\.[a-zA-z]+)$/;
email_test = email_regex.test(email_to_check);
if(isnum){
alert("You must enter aleast an Alphabet !")    
}else{
    if(email_test){
           /* code if email is right :) */
        alert("This is corrrect email !")
    }else{

    alert("Enter valid email address !");
    }
   }
var email\u to\u check=”1111@gmail.com";
email_check=email_to_check.substring(0,email_to_check.lastIndexOf(“@”);
var isnum=/^\d+$/.test(电子邮件检查);
var email_regex=/^([a-zA-Z0-9!@$%^&*({}}\\):“?\/';\\+\-~]*@[a-zA-z]+\.[a-zA-z]+)$/;
email\u test=email\u regex.test(email\u to\u check);
if(isnum){
警报(“您必须输入最后一个字母表!”)
}否则{
如果(电子邮件测试){
/*如果电子邮件正确,则代码:)*/
警报(“这是正确的电子邮件!”)
}否则{
警报(“输入有效的电子邮件地址!”);
}
}

删除清单中不需要的特殊字符。

您从哪里获得电子邮件验证规则?如果您验证来自外部来源的电子邮件,这不是一套好的规则。请阅读如何验证或查找电子邮件地址。它就一些优缺点进行了非常好的讨论感谢@Frankiethekneemani在我们的组织中,我们使用“^[a-zA-Z0-9.\%+-]+@[a-zA-Z0-9.-]+\[a-zA-Z]{2,4}进行验证$,这是根据标准的,如果您需要的话。验证电子邮件地址总是很棘手的。类似的东西试图支持所有有效的电子邮件地址,这是荒谬的,并且将支持一些许多电子邮件服务器不会接受的模糊内容。另一方面,流行的framework Angular.js使用以下正则表达式,这更为宽松比你的:
/^[A-Za-z0-9.\uz%+-]+@[A-Za-z0-9.-+\.[A-Za-z]{2,6}$/
(编辑:非常类似于@Raunak Kathuria使用的regexp)验证电子邮件地址的最佳方法是向该地址发送电子邮件。