1
一切從我周圍的網看到,似乎下面的代碼應做好以下(這是我的期望):JavaScript表單驗證提交錯誤
- 如果電子郵件(「援助」)如果兩個條件通過驗證不匹配正則表達式,顯示警告信息並返回false
- 如果密碼(「通行證」)是空白,顯示警告信息並返回false
- 提交表單
的Java類CRIPT如下:
function validate() {
var email = document.getElementById('aid').value;
var pass = document.getElementById('apw').value;
var emailPattern = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if (!emailPattern.test(email)) {
alert("Not a valid email address");
return false;
}
if (pass == null || pass == "") {
alert("Password is blank");
return false;
}
return true;
}
標籤用開口如下:
<form action="choose.php" onsubmit="validate();" method="post">
我遇到的問題是,當點擊提交按鈕時,報警信息會彈出,但然後選擇.php在瀏覽器中加載。如果錯誤條件被觸發,我希望腳本保持在頁面上,直到兩個條件都通過。
注意,這裏有一個更好的RegEx for ya:http://www.ex-parrot.com/~pdw/Mail-RFC822-Address .html – Madbreaks
有一些有效的電子郵件地址會使電子郵件測試失敗。最好讓用戶輸入他們想要的任何內容並通過發送電子郵件來測試它。哦,函數不必返回'true',除'false'以外的任何值都會讓表單提交。 – RobG
我知道上述RegEx的缺點(並且一般使用RegEx來驗證電子郵件),但這些並不是真正關注這個項目。感謝您的鏈接/輸入。 – dropknow1edge