JavaScript 表單驗(yàn)證
表單的輸入框、下拉框等可以接收使用者輸入,所以用JavaScript來操作表單,可以得到使用者輸入的內(nèi)容,或是對(duì)一個(gè)輸入框設(shè)定新的內(nèi)容。
HTML表單的輸入控制項(xiàng)主要有以下幾種:
文字框,對(duì)應(yīng)的<input type="text">,,用於輸入文字;
單選框,對(duì)應(yīng)的<input type="radio">,用於選擇一項(xiàng);
##複選框,對(duì)應(yīng)的<input type="checkbox">,用於選擇多項(xiàng);
下拉框,對(duì)應(yīng)的<select>,用於選擇一項(xiàng);
隱藏文本,對(duì)應(yīng)的<input type="hidden">,使用者不可見,但表單提交時(shí)會(huì)把隱藏文字送到伺服器。
驗(yàn)證輸入是否是一個(gè)正確的email位址?
驗(yàn)證日期是否輸入正確?
驗(yàn)證表單輸入內(nèi)容是否為數(shù)字型?
function CheckForm (){?
if (document.form.name.value.length == 0) {?
alert("請(qǐng)輸入您姓名!");
document.form.name.focus( );
return false;
}
return true;
}
#中文/英文/數(shù)字/郵件地址合法性判斷:
##function isEnglish(name) //中文值偵測(cè){?
if(name.length == 0)
return false;
for(i = 0; i < name. length; i++) {?
#if(name.charCodeAt(i) > 128)
return false;
}
return true;
}
function isChinese (name ) //中文值偵測(cè)
{?
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {?
if (name.charCodeAt(i) > 128)
return true;
}
return false;
}
function isMail(name) // 電子郵件值偵測(cè)
{?
if(! isEnglish(name))
return false;
i = name.indexOf(" at ");
j = name dot lastIndexOf(" at ") ;
if (i == -1)
return false;
if(i != j)
return false;
if(i == 名稱點(diǎn)長(zhǎng)度)
return false;
return true;
}
function isNumber(name) // 數(shù)值偵測(cè)
{?
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {?
#if(name.charAt(i) < "0" || name.charAt(i) > "9")
return false;
}
return true;
}
function CheckForm()
{?
if(! isMail(form.Email.value)) {?
alert("您的電子郵件不合法! isEnglish(form.name.value)) {?
alert("中文名稱不合法!");
form.name.focus();
return false;
}
if( !isChinese(form.cnname.value)) {?
alert("中文名稱不合法!");
form.cnname.focus();
return false;
}
if (!isNumber(form.PublicZipCode.value)) {?
alert("郵遞區(qū)號(hào)不合法!");
form.PublicZipCode.focus();
return false;
}
傳回true;
}