jQuery中的电子邮件验证

Email Validation in jQuery

本文关键字:验证 电子邮件 jQuery      更新时间:2024-05-02

我已经使用了下面的代码,它运行良好,请检查下面。

$(".emailValidation").change(function(){
    $('body .emailError').remove();
    var emailVal = this.value;
    var filter = /^([a-zA-Z0-9_'.'-])+'@(([a-zA-Z0-9'-])+'.)+([a-zA-Z0-9]{2,4})+$/;
    if(filter.test(emailVal) === false)
    {
        $( ".emailValidation" ).after( "<div class='emailError'>You have added wrong email address.</div>" );
    }
    else 
    {
        $('.emailError').remove();
    }
});

但是,如果用户通过email@email.com.com,则此验证不起作用。

试试这个正则表达式,它每次都有效。

/^[-a-z0-9~!$%^&_=+}{'''?]+(.[-a-z0-9!$%^&_=+}{'''?]])@([-a-z0-9_][-a-z0-9_](.[-a-z0-9_]]+)*。(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(:[0-9]{1,5})$/i

试试代码片段!!!

$('form input[name="email"]').keyup(function () {
    var email = $(this).val();
var re = /^[-a-z0-9~!$%^&*_=+}{''?]+('.[-a-z0-9~!$%^&*_=+}{''?]+)*@([a-z0-9_][-a-z0-9_]*('.[-a-z0-9_]+)*'.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}))(:[0-9]{1,5})?$/i;
if (re.test(email)) {
    $('.msg').hide();
    $('.success').show();
} else {
    $('.msg').hide();
    $('.error').show();
}
});
.msg {
    display: none;
}
.error {
    color: red;
}
.success {
    color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
    <div>
        <label for="email" id="email-ariaLabel">Your email address:</label>
        <input id="email" name="email" type="email" class="required" title="This is a required field" /> <span class="msg error">Not a valid email address</span>
       <span class="msg success">A valid email address!</span>
    </div>
</form>

请尝试使用以下代码。这是为运行的

stack@overflow@gmail.comstack@overflow@gmail.comstackoverflow.com@gmail.com
$(".emailValidation").change(function(){$('body.emailError').remove();var emailVal=this.value;var过滤器=/^([a-zA-Z0-9_''.''-])+''@([a-zA-Z0-9''-])++.)+([a-zA-Z0-9]{2,4})+$/;if(emailVal.indexOf("@")>=0){var emailExt=emailVal.split('@');var extCount=(emailExt[1].match(/.com/g)||[]).length;}if(filter.test(emailVal)===false || extCount>1){$(".emailValidation")。在("您添加了错误的电子邮件地址。")之后;console.log("错误的电子邮件id")}else if(extCount===1){$('.emailError').remove();console.log("电子邮件正确");}});