JavaScript 表單驗(yàn)證
JavaScript 可用來(lái)在資料送到伺服器前對(duì) HTML 表單中的這些輸入資料進(jìn)行驗(yàn)證。
表單資料經(jīng)常需要使用 JavaScript 來(lái)驗(yàn)證其正確性:
#驗(yàn)證表單資料是否為空?
驗(yàn)證輸入是否是正確的email位址?
驗(yàn)證日期是否輸入正確?
驗(yàn)證表單輸入內(nèi)容是否為數(shù)字型?
必填(或必填)項(xiàng)目
下面的函數(shù)用來(lái)檢查使用者是否已填寫表單中的必填(或必填)項(xiàng)目。假如必填或必選項(xiàng)為空,那麼警告框會(huì)彈出,並且函數(shù)的回傳值為false,否則函數(shù)的回傳值則為true(表示資料沒有問(wèn)題):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <head> <script> function validateForm(){ var x=document.forms["myForm"]["fname"].value; if (x==null || x==""){ alert("姓必須填寫"); return false; } } </script> </head> <body> <form name="myForm" action="" onsubmit="return validateForm()" method="post"> 姓: <input type="text" name="fname"> <input type="submit" value="提交"> </form> </body> </html>
執(zhí)行程式嘗試一下
E-mail 驗(yàn)證
#下面的函數(shù)檢查輸入的資料是否符合電子郵件地址的基本語(yǔ)法。
意思是說(shuō),輸入的資料必須包含 @ 符號(hào)和點(diǎn)號(hào)(.)。同時(shí),@ 不可以是郵件地址的首字符,並且@ 之後需有至少一個(gè)點(diǎn)號(hào):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <head> <script> function validateForm(){ var x=document.forms["myForm"]["email"].value; var atpos=x.indexOf("@"); var dotpos=x.lastIndexOf("."); if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){ alert("不是一個(gè)有效的 e-mail 地址"); return false; } } </script> </head> <body> <form name="myForm" action="" onsubmit="return validateForm();" method="post"> Email: <input type="text" name="email"> <input type="submit" value="提交"> </form> </body> </html>
運(yùn)行程序嘗試一下
##