2016-04-12 10 views
-1

私は以下のコードを使用しています。jQueryでの電子メールの検証

$(".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 protected]を渡すと、この検証が機能していません。

+2

[email protected]は、有効な電子メールアドレスです。検証はそれを拒否し、それを通過させたいのですか、それを受け入れて拒否したいと思いますか? – JJJ

+0

@Juhana検証正規表現は[email protected]を通過します。これは、あなたが言ったように、有効なアドレスです。 – Lochlan

+0

@Juhana私は[email protected]の電子メールアドレスだけが必要です。ユーザーが他の文字列を渡すと、それは拒否されます。 –

答えて

-1

毎回この正規表現を試してみてください。

/^ [ - !?-Z0-9〜$の%^ & _ = +} {\ '] +([ - 。!-Z0-9〜$の%^ & _ = +] {\ '?] +)@([a-z0-9 _] [ - a-z0-9_](。[ - a-z0-9 _] +)*。(aero | arpa | biz | com | [coop | edu | gov | info | int | mil |ミュージアム|名前|ネット|オルガ|プロ|旅行| mobi | [az] [az])|([0-9] {1,3} 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>

-2

以下のコードで試してみてください。これがために実行されている:

 

    [email protected]@gmail.com 
    [email protected]@gmail.com.com 
    [email protected] 

 

     $(".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 (emailVal.indexOf("@") >= 0){ 
       var emailExt = emailVal.split('@'); 
       var extCount = (emailExt[1].match(/.com/g) || []).length; 
      }   

      if(filter.test(emailVal) === false || extCount>1) 
      { 
       $(".emailValidation").after( "You have added wrong email address."); 
       console.log("wrong email id") 
      } 
      else if(extCount === 1) 
      { 
       $('.emailError').remove(); 
       console.log("Email is correct"); 
      } 
     }); 


+0

このコードは働いていない。 –

+0

@ JoomlaDeveloper:上記のコードを試してみてください。 –

関連する問題