简洁强大的JavaScript表单验证程序

*

 

<script type="text/javascript"> </script>

vForm1.0beta

功能简述:

  1. 验证:

    • http地址。
    • 时间日期
    • e-mail
    • 数字
    • 字符长度检查
    • 一项输入与另一项输入比较(例如:密码的确认输入)
    • 大小比较(只能有一个比较符号)
  2. 特点

    • 扩展容易,可以方便的添加自己需要的验证方式
    • 兼容性好(ie5,6 firefox,oprea)。
    • 可用性好,没有使用alert()来弹出提示;

 

使用方法

使用时,需要定义一个出错提示框的样式,本例的样式为:div.info { width: 170px; overflow:visible; height:auto; font-size: small; position: absolute; background-color: #FFffdd; border: 1px solid #000; filter:progid:DXImageTransform.Microsoft.Shadow(color=#111111,direction=135,strength=3); padding: 5px; }

然后在网页<head>部分中添加<script type="text/javascript" src="calendar/calendar.js"></script> ,然后可以写一个函数设置表单名称,验证规则,function start() { vFormvform.form_id = 'form1'; vform.err_class = 'info'; // (obj,required(true/false),dataType,errmsg,minlen,maxlen,rule,patams) //验证规则,逐条填写 vform.rules.add('frm_name',1,'e-mail','请您按照 [email]user@domain.com[/email] 的格式输入电子邮件地址。<br /><span style="color:#f00">必填项目</span>'); vform.rules.add('myweb',1,'url','请您按照 [url]http://www.domain.com[/url] 的格式输入您的网址。<br /><span style="color:#f00">必填项目</span>'); vform.rules.add('dateinput',0,'date','请按2000-03-05 的格式输入日期。<br /><span style="color:#f00">必填项目</span>'); vform.rules.add('qq',0,'number','这必须是一个整数'); vform.rules.add('least10',10,'any','您必须至少填写10个<br /><span style="color:#f00">必填项目</span>'); vform.rules.add('ok100',1,'any','这里被限制为100个字符<br /><span style="color:#f00">必填项目</span>',100); vform.init(); }最后为body添加onload事件。 <body onload="start();">

 

这是在blueidea看到的一个写比较简洁的js表单验证程序。
总的来说该有的功能都有了,而且代码也不是很多,适合大家的小项目拿去使用
功能简述:
验证:http地址 时间日期 e-mail 数字 字符长度检查 一项输入与另一项输入比较(例如:密码的确认输入) 大小比较(只能有一个比较符号)
特点:
扩展容易,可以方便的添加自己需要的验证方式
兼容性好(ie5,6 firefox,oprea)
可用性好,没有使用alert()来弹出提示
编写思路
整个程序的结构及较简单,为了能够验证一些常用的格式,先对js的内置对象进行了扩展。比如:

String.prototype.isUrl = function(){
       var url = /^http:[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/;
       var tmpStr = this;
       return url.test(tmpStr);
}

这个用来验证http地址。

然后写了一个对象叫做vform 包含了主要的功能,vform初始化的时候,会检查添加好的验证规则,并将要验证的表单控件对象扩展,添加validate() 和 validlength()两个函数,并且添加onblur事件来进行验证。
出错提示采用的建立div对象的方法,出错就显示,正确就隐藏。所以还需要给div定义一个样式。
使用前需要指定表单的id 注意是id不是name 要不然会出错,而规则添加的时候要指定的是表单控件的name属性不是id

验证规则参数:

obj — 表单控件name

minLength — 填写的字符串最小长度0意味着可以不填 而1意味着是必添

dataType — 验证格式 有

e-mail
url
date
number
any
还有两种动态的格式用/开头, /表单控件的name 表示必须与之的值一样;
/>数字 表示大于数字,类推;但是没有/>=这样的
maxLength — 最大长度。

与其他程序不一样的是:我对http地址与日期格式地址的处理不同,填入的地址没有http://我会添加上后验证,这样比较人性化,符合可用性的要求。日期的处理也是一样,先尽可能的对填写的数字进行格式转化,然后再验证。格式采用了yyyy-mm-dd的格式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值