2012-10-17 79 views
0

對於我有任務的作業,我正在撰寫註冊表單。我的問題是,如何連接第一條語句和下面的函數,以便某人在文本框中輸入電子郵件時檢查電子郵件是否有效? (的document.getElementById(「用戶」)。值)在HTML中使用Javascript編碼

<input id="user" type="text" onblur="isUserNameValid();"></input><br/> 


function isEmailValid(email) { 
"use strict"; 
     var e = email.split("@"), local = /[^\w.!#$%&*+-\/=?^_{|}~]/, domain = /[\w.-]/; 
if (e.length !== 2) { 
    return false; 
} 
if (local.test(e[0])) { 
    return false; 
} 
if (e[0].length > 253) { 
    return false; 
} 
if ((e[0][0] === ".") || (/\.\./.test(e[0]))) { 
    return false; 
} 
if (domain.test(e[1])) { 
    return false; 
} 
if (e[1].length > 253) { 
    return false; 
} 
if (e[1][0] === "." || /\.\./.test(e[1]) || e[1][e[1].length - 1] === ".") { 
    return false; 
} 
return true; 
} 
+0

你說的轉讓,你可以使用HTML5嗎?然後,您可以簡單地將輸入類型設置爲「電子郵件」。 – Endophage

+0

@Endophage是的,你可以使用HTML5。 –

回答

1

正如你確認,你可以使用HTML5,只需將輸入切換到下方的表格提交時,瀏覽器將驗證電子郵件給你。

<input id="user" name="user" type="email" /><br/> 

N.B.您可以爲輸入使用自閉標籤。您還應該指定inputname屬性,因爲這是數據在提交給服務器時用作密鑰的屬性。

0
<input type="text" id="email" name="email" onblur="javascript:return validate();"/> 

<script> 
    function validate() { 

     var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 
     var address = document.getElementById("email").value; 
     if (reg.test(address) == false) { 

      alert('Invalid Email Address'); 
      return false; 
     } else { 
      alert('valid Email Address'); 
      return false; 
     } 
    } 

</script>