简体   繁体   English

使用RegExp在jQuery中进行电子邮件验证

[英]Email Validation in jQuery using RegExp

I have to validate a email field which can contain multiple email address separated by (;). 我必须验证一个电子邮件字段,该字段可以包含由(;)分隔的多个电子邮件地址。 The following is the code i used 以下是我使用的代码

$("body").find(".reqEmail").filter(function(){
        var regex = new RegExp(/^[_A-Za-z0-9-]+[^(),:;<>\\[\\]@]*@[^(),:;<>\\[\\]@]*(\\.[A-Za-z]{2,})+$/);///^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var email=$(this).val()
        if(regex.test(email)==false){
                e.preventDefault();
                $(this).css("border","solid 1px red");
                $(this).parent().find("#ReceAppEmail").html("Invalid Email!!");
                }
                else{return true;}
    });

It always give the error message, even i insert 1 email address. 它总是给出错误消息,即使我插入1个电子邮件地址。 I cannot find where i went wrong. 我找不到我错的地方。 any suggestions? 有什么建议?
FYI: This is included in the form submission ( onsubmit ) 仅供参考:这包含在表格提交中( onsubmit

You can grab all the email addresses separated by semicolons using the regex below: 您可以使用以下正则表达式获取由分号分隔的所有电子邮件地址:

/(?:((?:[\w-]+(?:\.[\w-]+)*)@(?:(?:[\w-]+\.)*\w[\w-]{0,66})\.(?:[a-z]{2,6}(?:\.[a-z]{2})?));*)/g

http://regexr.com/3b6al http://regexr.com/3b6al

You can do this by below code. 您可以通过以下代码执行此操作。

function validatecommSeptEmail(commSeptEmail)
{
    var regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,5}$/;
    return (regex.test(commSeptEmail)) ? true : false;
}

function validateMultiplecommSeptEmails(emailcntl, seperator)
{
    var value = emailcntl.value;
    if (value != '') {
        var result = value.split(seperator);
        for (var i = 0; i < result.length; i++) {
            if (result[i] != '') {
                if (!validatecommSeptEmail(result[i])) {
                    emailcntl.focus();
                    alert('Please check, `' + result[i] + '` email addresses not valid!');
                    return false;
                }
            }
        }
    }
    return true;
}

How to use it? 如何使用它?

onblur="validateMultiplecommSeptEmails(this,',');"

Try this 试试这个

function validateEmail(email) {
    var regixExp = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    $(".reqEmail").css("border","solid 1px red");
    $("#ReceAppEmail").html("Invalid Email!!");
    return regixExp.test(email);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM