javascript中的字母数字电子邮件验证
我正在使用下面的正则表达式验证电子邮件以接受字母数字字符。它适用于以下情况 1) 必须至少包含一个字母 2) 允许字母数字 3) 允许使用特殊字符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
-和
正则表达式:
/^([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)验证电子邮件地址的最佳方法是向该地址发送电子邮件。