一个通用的表单验证程序

 

在网页设计中经常需要使用javascript验证客户端用户的输入,但很多时候验证的过程又大同小异,十分繁锁,其实可以

利用javascript的一些特性,使表单验证变得更轻松.
下边将列出一个基本通用的表单验证程序(现在这个只适合<input>、<textarea>、<select>等含有value属性的元素的

验证,不过如果您需要,按此思路添加一些特性就可以了)

我们的通用验证程序需要为表单中的元素定义如下几个属性:
一、checkstr
表示该表单的模式,使用正则表达试
二、
info 当该表单不合法时的提示信息
三、func
当某个表单的值没办法用简单的正则表达式来验证的时候,可以为其单独定义一个验证函数实现复杂的验证过程
四、checkbox_select
该属性定义了某个复选框必须被选择

通过以上几个简单的属性,就可以使网页表单的验证变得轻松了.
比如有以下表单,需要验证其邮编格式,则只需要为元素zip添加两个属性就行了:
checkstr="/d{6}"
info="请您输入合法的邮编"

这样,不管有多少表单元素需要验证,您都不需要写程序,只需要简单的为每个需要验证的元素添加checkstr与info属性

就可以了.

例(验证邮政编码):
<!--------------------------------------------------------------------------------- -->
<form name=form1 method=post οnsubmit="return check(this);">
请输入合法的邮编:
<input type=text name=zip size=6 checkstr="/d{6}" info="请您输入合法的邮编">
<input type=submit name=okay value=okay>
</form>
<! ------------------------------------------------------------------------------- -->

<script language=javascript>
function check_form(form){
for (e_item=0;e_item<form.elements.length;e_item++){
form_element=form.elements[e_item];
if (defined(form_element.checkstr)&&defined(form_element.info)){
Content=form_element.value;
regPattern=form_element.checkstr;
message=form_element.info;
if (!regCheck(regPattern,Content)){
alert(message);
form_element.focus();
form_element.select();
return false;
}
}
if (defined(form_element.checkbox_select)&&defined(form_element.info)){
if (!form_element.checked){
alert(form_element.info);
return false;
}

}

if (defined(form_element.func)){
try{
eval("runCode="+form_element.func);
if (!runCode) return false;
}catch(e){
alert('错误:关于'+form_element.name+'的函数'+form_element.func+'未定义');
}
}

} //for
return true;
}

 

function regCheck(patternStr,inputStr){
patternStr="^"+patternStr+"$";
re=new RegExp(patternStr,"i");
return re.test(inputStr);
}

function defined(control){
return (typeof(control)!="undefined")
}


</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。 <br><br>  Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。因为是伪静态类,所以在调用时不需要实例化,直接以"类名+.语法+属性或方法名"来调用。此外,Validator还提供3种不同的错误提示模式,以满足不同的需要。<br><br>  完整文档下载: Validator.chm (zip压缩,111K)<br><br>  Validator目前可实现的验证类型有:<br><br>  1.是否为空;<br>  2.中文字符;<br>  3.双字节字符<br>  4.英文;<br>  5.数字;<br>  6.整数;<br>  7.实数;<br>  8.Email地址;<br>  9.使用HTTP协议的网址;<br>  10.电话号码;<br>  11.货币;<br>  12.手机号码;<br>  13.邮政编码;<br>  14.身份证号码;<br>  15.QQ号码;<br>  16.日期;<br>  17.符合安全规则的密码;<br>  18.某项的重复值;<br>  19.两数的关系比较;<br>  20.判断输入值是否在(n, m)区间;<br>  21.输入字符长度限制(可按字节比较);<br>  22.对于具有相同名称的单选按钮的选中判断;<br>  23.限制具有相同名称的多选按钮的选中数目;<br>  24.自定义的正则表达式验证; <br><br>  运行环境(客户端): <br><br>  在Windows Server 2003下用IE6.0+SP1和Mozilla Firefox 1.0测试通过;<br>  在Lunix RedHat 9下的Netscape测试通过;<br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值