看了山人表单验证,又看了其他一些验证程序和相关的一些参考资料,写出了一个比较简洁的js表单验证程序。 功能简述: 验证: http地址 时间日期 数字 字符长度检查 一项输入与另一项输入比较(例如:密码的确认输入) 大小比较(只能有一个比较符号) 特点 扩展容易,可以方便的添加自己需要的验证方式 兼容性好(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 — 验证格式 有 url date number any 还有两种动态的格式用\开头, \表单控件的name 表示必须与之的值一样; \>数字 表示大于数字,类推;但是没有\>=这样的 maxLength — 最大长度。 与其他程序不一样的是:我对http地址与日期格式地址的处理不同,填入的地址没有http://我会添加上后验证,这样比较人性化,符合可用性的要求。日期的处理也是一样,先尽可能的对填写的数字进行格式转化,然后再验证。格式采用了yyyy-mm-dd的格式。 原始位置:http://lxbzj.com/product/vform/index.htm ,原始文件应用一个日历输入控件在此省略。。。 总代码: 运行代码框 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 19:30 , Processed in 0.310649 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.