通用表单验证函数 - FormCheck JavaScript Function

风格不统一 提交于 2019-11-26 05:21:49

以前在开发项目的时候,在没使用EXTJS之前,写了这个通用的表单验证函数。

 

在实际开发过程中,使用非常简单,确实大幅提高了开发效率

 

现在虽然用不到了,但扔了感觉可惜,留在这里当个纪念吧!

 


 

  通用表单验证函数使用说明  
 
  Author : netwild   最后更新日期:2009-07-02  
 
  一、函数功能  
 
  在编写WEB应用时,经常需要对各种表单进行输入验证,为了节省开发时间,增加开发效率,编写统一验证函数。  
 
  二、函数说明  
 
  function chkForm(object form)  
 
  参数form为表单对象,支持两种方式:  
 
  1、表单对象:<form οnsubmit="return chkForm(this)">  
 
  2、表单名称:<form name="form1" οnsubmit="return chkForm('form1')">  
 
  返回值:boolean  
 
  三、与验证相关的属性  
 
    属性名称 属性类型   说明           默认值   适用控件                        
    enNull   扩展属性   是否允许为空       true     input(text、radio、checkbox)、textarea、select  
    len   扩展属性   输入字符个数范围     0,2000     input(text)、textarea                
    temp   扩展属性   验证模版               input(text)、textarea                
    match   扩展属性   自定义规则             input(text)、textarea                
    skip   扩展属性   跳过验证         false     input(radio、checkbox)、select            
    title   标准属性   字段名称               任何控件                        
 
 
  四、属性说明  
 
  1、enNull  
 
  例如: <input type="text" name="inpUname" enNull="false" title="用户名" />   //表示该输入框不允许为空  
 
  <input type="radio" name="rdoSex" enNull="false" title="性别" />   //表示该组单选框为必选项  
  <input type="radio" name="rdoSex"  />   //在首个标签上注明即可  
 
  <input type="checkbox" name="chbDev" enNull="false" title="技术" />   //表示该组复选框为必选项  
  <input type="checkbox" name="chbDev"  />   //在首个标签上注明即可  
  <input type="checkbox" name="chbDev"  />  
 
  2、len  
 
  例如: <input type="text" name="inpUname" len="6,18" title="用户名" />   //表示输入的字符个数在6到18个之间
  //使用len属性,可以省略enNull属性
 
  3、temp  
 
  取值范围:  
 
  number:匹配数值型,包括整数、负数、小数,并且小数位数不超过6位。  
 
  例如:423、-376、57.89、-0.34 都符合;sds、422.、.237 都不符合  
 
  number5:匹配数值型,包括整数、负数、小数,并且小数位数不超过5位。  
 
  number4:匹配数值型,包括整数、负数、小数,并且小数位数不超过4位。  
 
  number3:匹配数值型,包括整数、负数、小数,并且小数位数不超过3位。  
 
  number2:匹配数值型,包括整数、负数、小数,并且小数位数不超过2位。  
 
  number1:匹配数值型,包括整数、负数、小数,并且小数位数不超过1位。  
 
  number(len1,len2):匹配数值型,包括整数、负数、小数,并且整数部分最长不超过len1,小数部分最长不超过len2 新!
 
  money:匹配货币型,包括整数、负数、1位或2位小数  
 
  int:匹配数值型,包括整数、负数,不匹配小数  
 
  uint:匹配无符号数值型,包括正整数,不匹配小数  
 
  var:匹配变量命名规范,可包括:英文字母、数字和下划线,并且必须以英文字母开头  
 
  string:匹配字符型,包括任何字符及换行符  
 
  date:匹配标准的10位长度的日期型,例如:2009-06-24  
 
  time:匹配标准的8位长度的时间型,例如:16:51:08  
 
  datetime:匹配19位长度的日期+时间型  
 
  timestep:匹配0-60之间的整数  
 
  weekstep:匹配0-7之间的整数  
 
  monthstep:匹配0-30之间的整数  
 
  exp01:表达式:str='value'  
 
  input:匹配除英文双引号、单引号之外的任意字符  
 
  parame:匹配除英文双引号、单引号、@ # % & * . ? 和空格之外的任意字符  
 
  4、match  
 
  该属性值为标准的JavaScript正则表达式。但不包括:^(起始符)、$(截止符)  
 
  为统一验证规则,除非极特殊情况之外,不建议直接使用match属性进行验证。  
 
  5、skip  
 
  该属性表示“跳过验证”,通常用于单选框、复选框及下拉框中,使用了enNull属性,但其中某些选项需要例外的情况  
 
  例如: <select title="城市" enNull="false">  
  <option skip="true">--- 辽宁省 ---</option>  
  <option>沈阳</option>  
  <option>辽阳</option>  
  <option>大连</option>  
  <option skip="true">--- 广东省 ---</option>  
  <option>广州</option>  
  <option>深圳</option>  
  <option>东莞</option>  
  <option skip="true">--- 山东省 ---</option>  
  <option>济南</option>  
  <option>青岛</option>  
  </select>  
 
  //该下拉框为必选项,但只想选择其中的“市”,因此为“省”增加属性:skip=true,即使选择该项,也做无效处理。
 
  6、title  
 
  控件名称描述  
 
  对于单选框和复选框来说,仅在第一个标签上设置该属性即可,其他同名的一组内的标签将默认继承第一个标签的设置。

 


 

formCheck.js

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!