2016-12-21 29 views
-1

我在普通的JavaScript此電子郵件驗證功能:如何這段代碼轉換爲jQuery的

function isEmail() { 
    var slides = document.getElementsByClassName("email"); 

    for (var i = 0; i < slides.length; i++) { 
     emailValue = slides.item(i).value; 

     var regex = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i; 
     var res = regex.test(emailValue); 

     if (res == false) { 

      alert("Enter valid email"); 
      return false; 
     } else { 
      return true; 
     } 
    } 
} 

我要以這種格式轉換這將jQuery:

$(document).ready(function() { 
    $("#form").submit(function() { 
     $(".email").each(function() { 

     }); 
    }); 
}); 
+3

你並不需要,並在那裏你打算使用'ISEMAIL()'? – Satpal

+0

但在bootstap中無法正常工作 –

+0

onsubmit @ satpal –

回答

1

是什麼你需要??

$(document).ready(function() { 
 
    $(".button").click(function() { 
 
     $("li.email").each(function() { 
 
      emailValue = $(this).text(); 
 
\t \t \t \t \t \t console.log(emailValue); 
 
      var regex = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i; 
 
      var res = regex.test(emailValue); 
 

 
      if (res == false) { 
 
       alert(emailValue+" email invalid"); 
 
      } else { 
 
       alert(emailValue+" email valid"); 
 
      } 
 
     }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li class="email">[email protected]</li> 
 
    <li class="email">[email protected]</li> 
 
    <li class="email">[email protected]</li> 
 
    <li class="email">[email protected]</li> 
 
    <li class="">not email</li> 
 
</ul> 
 
<input type="button" class="button" value="validate emails"/>

0

它接縫像上面它試圖驗證頁面上的多個電子郵件域代碼。所以我要爲你的js小提琴製作一些虛擬數據。我還優化了代碼,以便將變量緩存在循環之外。如果它們被緩存在$ .each循環中,那麼每次都會創建一個新變量。

function isEmail() { 

    var slides = $('.email'); 
    var emailValue = null; 
    var regex = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i 
    var res = null; 
    console.log(slides); 

    $(slides).each(function(){ 

    emailValue = $(this).val(); 

    res = regex.test(emailValue); 

    if (res==false){ 

     alert("Enter valid email"); 
     return false; 
    } 
    alert("Success!") 
    return true; 
}) 

}

這裏是JSFiddle