2017-05-15 38 views
0

我的電子郵件驗證不正確檢查條件時,我給沒有名稱只有域名在文本框中的例子@gmail.com它顯示有效像有效的電子郵件,我需要提高警惕這種情況。但它在檢查域名的情況下工作正常。電子郵件驗證不工作在javascript

我的代碼:

if(!(email.endsWith("@yahoo.com") || email.endsWith("@gmail.com"))){ 
      alert("Email Should be in @yahoo.com or @gmail.com"); 
      $("#txtEmail").val(''); 
      document.getElementById("txtEmail").focus(); 
      return false; 
    } 

謝謝

+0

如果你沒有考慮'regex'這個很好的解決方案,你總是可以添加另一個'startsWith'的檢查 –

+0

使用正則表達式來驗證電子郵件 – Durga

+0

從你發佈的JS開始做它應該做的事情。我建議使用正則表達式來檢查輸入的值是否是有效的郵件地址,以及何時可以檢查yahoo/gmail。 (順便說一句:甚至不要寫一個電子郵件正則表達式,節省自己的麻煩和谷歌爲好) – garglblarg

回答

1

添加email.lastIndexOf("@") === 0以你的條件,如:

if(email.lastIndexOf("@") === 0 || !(email.endsWith("@yahoo.com") || email.endsWith("@gmail.com"))){ 
0

嘗試用這種正則表達式

if (email.match(/^\[email protected](yahoo|gmail)+\.com$/g)) 

這的會l檢查您在@之前是否有內容,並驗證它是否是yahoo或gmail。