js友好的表单验证程序vform

作者:mickeyboy 来源:lxbzj.com 时间:2007-08-16 13:32:00 

看了山人表单验证,又看了其他一些验证程序和相关的一些参考资料,写出了一个比较简洁的js表单验证程序。特点是扩展容易,可以方便的添加自己需要的验证方式;兼容性好(ie5,6 firefox,oprea)。 可用性好,没有使用alert()来弹出提示;

功能简述:
验证:

  • http地址。

  • 时间日期

  • e-mail

  • 数字

  • 字符长度检查

  • 一项输入与另一项输入比较(例如:密码的确认输入)

  • 大小比较(只能有一个比较符号)

    编写思路:
    整个程序的结构及较简单
    为了能够验证一些常用的格式,先对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,minLength,dataType,errmsg,maxLength
    第一个为表单控件name
    第二个是 填写的字符串最小长度0意味着可以不填 而1意味着是必添
    第三个是验证格式 有

    • e-mail

    • url

    • date

    • number

    • any

    • 还有两种动态的格式用\开头, \表单控件的name 表示必须与之的值一样;

    • \>数字 表示大于数字,类推;但是没有\>=这样的|||


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


      标签:表单验证,js
      0
      投稿

      猜你喜欢

    1. oracle数据库排序后如何获取第一条数据

      2024-01-18 11:44:01
    2. python matplotlib 画dataframe的时间序列图实例

      2023-05-17 00:12:34
    3. python实现图片批量压缩

      2022-01-20 03:03:20
    4. ACCESS转SQL Server2000需要注意的问题

      2007-11-18 15:25:00
    5. Golang 限流器的使用和实现示例

      2024-04-25 15:06:25
    6. 完美解决vue中报错 “TypeError: Cannot read properties of null (reading'forEach')“

      2023-07-02 17:06:29
    7. CSS编写过程中常见的10个错误

      2008-05-29 12:49:00
    8. vue eslint报错error "Component name "*****" should always be multi-word"解决

      2024-05-13 09:10:32
    9. python实现UDP协议下的文件传输

      2023-10-10 10:26:20
    10. 教你如何升级SQL Server数据库系统

      2009-01-19 14:42:00
    11. JavaScript中数组Array方法详解

      2024-04-10 10:39:28
    12. Pandas分组与排序的实现

      2022-11-27 14:13:18
    13. PHP递归调用数组值并用其执行指定函数的方法

      2023-09-05 15:35:04
    14. python文件操作的简单方法总结

      2023-11-20 06:31:02
    15. Python函数参数分类原理详解

      2022-02-26 17:05:57
    16. vue修改滚动条样式的方法

      2024-04-27 15:48:59
    17. Python中列表的基本操作汇总

      2021-08-20 23:21:27
    18. django_orm查询性能优化方法

      2021-03-01 20:30:19
    19. python 2.7.13 安装配置方法图文教程

      2023-11-13 11:54:37
    20. 检测SQL Server是否有特洛伊木马

      2009-02-24 15:19:00
    21. asp之家 网络编程 m.aspxhome.com