电子邮件地址验证 JavaScript 用于多个"+"符号



我正在尝试验证用户在javascript中输入的电子邮件地址,就像这样

var email = document.getElementById("<%=Email.ClientID%>").value;
                // checks if the e-mail address is valid
                var emailPat = /^[_a-z0-9-]+(.[_a-z0-9-]+)*(+[a-z0-9-]+)?@[a-z0-9-]+(.[a-z0-9-]+)*$/i;
                var matchArray = email.match(emailPat);
                if (matchArray == null) {
                    alert("Not a valid e-mail address");
                    document.getElementById("<%=Email.ClientID%>").focus();
                    return false;

                }

这个工作很棒,它验证电子邮件地址ok,但它在这个电子邮件地址返回falseayaz5+any+thing+you+want@gmail.com我想要的是这也是一个有效的电子邮件地址我需要做什么改变在这个谢谢

试试下面的代码:

var email = 'ayaz5+any+thing+you+want@gmail.com';
var regex = /^([a-zA-Z0-9_.+-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
var matchArray = regex.test(email);
if (matchArray) {
    alert("valid");
} else {
    alert("Not a valid e-mail address");
}
<标题>演示

最新更新