JavaScript 表單驗(yàn)證
JavaScript 表單驗(yàn)證
JavaScript 可用來(lái)在數(shù)據(jù)被送往服務(wù)器前對(duì) HTML 表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證。
表單數(shù)據(jù)經(jīng)常需要使用 JavaScript 來(lái)驗(yàn)證其正確性:
- 驗(yàn)證表單數(shù)據(jù)是否為空?
- 驗(yàn)證輸入是否是一個(gè)正確的email地址?
- 驗(yàn)證日期是否輸入正確?
- 驗(yàn)證表單輸入內(nèi)容是否為數(shù)字型?
必填(或必選)項(xiàng)目
下面的函數(shù)用來(lái)檢查用戶是否已填寫(xiě)表單中的必填(或必選)項(xiàng)目。假如必填或必選項(xiàng)為空,那么警告框會(huì)彈出,并且函數(shù)的返回值為 false,否則函數(shù)的返回值則為 true(意味著數(shù)據(jù)沒(méi)有問(wèn)題):
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
? {
? alert("First name must be filled out");
? return false;
? }
}
以上函數(shù)在 form 表單提交時(shí)被調(diào)用:
實(shí)例
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
嘗試一下 ?
E-mail 驗(yàn)證
下面的函數(shù)檢查輸入的數(shù)據(jù)是否符合電子郵件地址的基本語(yǔ)法。
意思就是說(shuō),輸入的數(shù)據(jù)必須包含 @ 符號(hào)和點(diǎn)號(hào)(.)。同時(shí),@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個(gè)點(diǎn)號(hào):
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("Not a valid e-mail address");
? return false;
? }
}
下面是連同 HTML 表單的完整代碼:
實(shí)例
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="Submit">
</form>
嘗試一下 ?