本节内容:
js实现表单提交,表单验证等。
 
2.1 表单项不能为空
 
2.2 比较两个表单项的值是否相同
 
2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等。
 
2.4 表单项输入数值/长度限定
 
2.5 中文/英文/数字/邮件地址合法性判断
 
<SCRIPT LANGUAGE="javascript">
<!--
function isEnglish(name) //英文值检测
{ 
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) //中文值检测
{ 
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) // E-mail值检测
{ 
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 == name dot length)
return false;
return true;
}
function isNumber(name) //数值检测
{ 
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("您的电子邮件不合法!");
form.[email].focus();
return false;
}
if(! 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("邮政编码不合法!");
form.PublicZipCode.focus();
return false;
}
return true;
}
//-->
</SCRIPT>
2.6 限定表单项不能输入的字符
 
<script language="javascript">
<!--
function contain(str,charset)// 字符串包含测试函数
{ 
var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}
function CheckForm()
{ 
if ((contain(document.form.NAME.value, "%()><")) || (contain(document.form.MESSAGE.value, "%()><")))
{ 
alert("输入了非法字符");
document.form.NAME.focus();
return false;
}
return true;
}
//-->
</script>