以前在开发项目的时候,在没使用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