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

Alphanumeric email validation in javascript

本文关键字:数字 电子邮件 验证 JavaScript      更新时间:2023-09-26

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

1) 必须至少包含一个字母2) 允许字母数字3)允许特殊字符.-and _

正则表达式:

/^([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 - allow

aaaa@gmail.com - allow

aa1_aa@gmail.com - allow

预期输出:

1111@gmail.com - not allow because it does not contain alphabets before @

aaaa@gmail.com - allow

a1@gmail.com - allow

1a@gmail.com - allow

aa1_aa@gmail.com - allow

她的是jsfiddle Demo

您的正则表达式将完成这项工作,只需在开头添加此内容即可

(?=[^@]*[A-Za-z])

使最终正则表达式如下所示:

/^(?=[^@]*[A-Za-z])([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 !");
    }
   }

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