2017-12-18 132 views
0

。這是我的代碼。我試圖驗證電子郵件,但點擊驗證按鈕時沒有任何事情發生。請回復。 它沒有顯示消息,我不知道它爲什麼不顯示。 這不是一個複雜的代碼:驗證使用JavaScript和正則表達式不起作用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script> 




    function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
    return re.test(email); 
} 

function validate() { 

    $("#result").text(""); 
    var email = $("#email").val(); 
    if (validateEmail(email)) { 
    $("#result").text(email + " is valid :)"); 
    $("#result").css("color", "green"); 
    } else { 
    $("#result").text(email + " is not valid :("); 
    $("#result").css("color", "red"); 
    } 
    return false; 
} 


$("#validate").bind("click", validate); 

    </script> 


</head> 





<form> 
    <p>Enter an email address:</p> 
    <input id='email'> 
    <button type='submit' id='validate' >Validate!</button> 
</form> 

<h2 id='result'></h2> 
+0

你或許應該綁定'validateEmail',因爲沒有'validate' – Damiano

+0

不好意思,但後來又它不會工作 – user7441072

+0

也開放開發者控制檯,並查看有 –

回答

2

嘗試把你的腳本標籤在你的身體的底部,或者把你的綁定代碼在onload鉤。

您的代碼現在被構造的方式,您的綁定代碼在加載主體中的元素之前運行,即綁定到不存在的元素。它適用於其他人的原因可能是因爲加載順序依賴於瀏覽器。因此,如果重新排序代碼仍然無效,那麼知道您使用的瀏覽器會很有趣。

+0

非常感謝你親愛的,解決了問題 – user7441072

+0

上面的一個工作示例回答https://jsfiddle.net/o2gxgz9r/20344/ – Ananda