狼居贤
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
卢金发
ID:musttieying
共
174936
次访问,排名
417
好友
0
人,关注者
2
人
musttieying的文章
原创 144 篇
翻译 0 篇
转载 208 篇
评论 35 篇
狼战的公告
现在博客已经改到: http://blog.sina.com.cn/u/1242292675 csdn的博客不是很好!二个月前的提的问题现在还没有解决,搞得首页只显示一条信息!谢谢兄弟的光临了啊!
最近评论
zhong2005yin:
很不错的效果,多谢提供!
mldstk:
wow power leveling
mostone:
看不到光明.
bhdgx:
这是个不错的解决方法
Cwfly:
OK.
方法四,解决。谢过~~~呵呵
文章分类
Ajax
(RSS)
asp.net
(RSS)
C#
(RSS)
Caché数据库
(RSS)
HTML+CSS+JS
(RSS)
php编程
(RSS)
爱情-情感
(RSS)
安之来信!
(RSS)
创业成功
(RSS)
反病毒
(RSS)
开个追MM的专题献给所有在软件战线上的兄弟们!
(RSS)
狼
(RSS)
人生摘要
(RSS)
软件开发综合
(RSS)
生活小常识
(RSS)
时事话题
(RSS)
数据库
(RSS)
随感·随想
(RSS)
网络
(RSS)
销售管理
(RSS)
心情·日记
(RSS)
行业相关
(RSS)
学习与考试
(RSS)
优秀软件锦集
(RSS)
收藏
相册
龙
图象
.NET优秀链接
21世纪asp.net技术网
mryyzx的专栏
云的彼端
优网
大白菜芯的专栏
自己喜欢的
(黑夜路人的开源世界)
IT英雄榜
PHP俱乐部
旁观者 - 郑昀
陈安之blog
(RSS)
存档
2007年09月(1)
2007年07月(8)
2007年03月(3)
2006年07月(13)
2006年06月(233)
2006年05月(67)
2006年04月(27)
软件项目交易
订阅我的博客
JavaScript通用表单验证函数
收藏
新一篇: js表单验证控制代码大全
|
旧一篇: 学习web标准、用户体验改善、Ajax&Asp.Net
表单定义:
<
form name
=
"
form1
"
action
=
""
style
=
"
behavior:url('form.htc')
"
></
form
>
客户端表单验证是由表单的onSubmit事件触发,由于表单的onSubmit事件只能由提交按钮触发,
所以如果要用函数提交表单form1.submit(),则必须同时执行form1.onSubmit()。
类型定义:
一、整型(
int
)
定义:
valueType
=
"
int
"
属性:
objName 对象名称(字符串)
mustInput 必输项(
true
/
false
)
minInput 最小值(数字)
maxInput 最大值(数字)
举例:
<
input type
=
"
text
"
name
=
"
test
"
valueType
=
"
int
"
objName
=
"
总载重吨
"
mustInput
=
"
true
"
maxInput
=
"
10000
"
>
二、浮点型(
float
)
定义:
valueType
=
"
float
"
属性:
objName 对象名称(字符串)
mustInput 必输项(
true
/
false
)
minInput 最小值(数字)
maxInput 最大值(数字)
decimalLen小数位数(数字)
举例:
<
input type
=
"
text
"
name
=
"
test
"
valueType
=
"
float
"
objName
=
"
运价
"
mustInput
=
"
true
"
maxInput
=
"
10000.50
"
decimalLen
=
"
2
"
>
三、字符串(string)
定义:
valueType
=
"
string
"
属性:
objName 对象名称(字符串)
mustInput 必输项(
true
/
false
)
stringLen 字符串长度(数字)
举例:
<
input type
=
"
text
"
name
=
"
test
"
valueType
=
"
string
"
objName
=
"
英文船名
"
mustInput
=
"
true
"
stringLen
=
"
100
"
>
四、日期(date)
定义:
valueType
=
"
date
"
属性:
objName 对象名称(字符串)
mustInput 必输项(
true
/
false
)
举例:
<
input type
=
"
text
"
name
=
"
test
"
valueType
=
"
date
"
objName
=
"
开始日期
"
mustInput
=
"
true
"
>
备注:
日期现在只能校验的格式为(yyyy
-
mm
-
dd)
五、邮箱(email)
定义:
valueType
=
"
email
"
属性:
objName 对象名称(字符串)
mustInput 必输项(
true
/
false
)
举例:
<
input type
=
"
text
"
name
=
"
test
"
valueType
=
"
email
"
objName
=
"
邮箱
"
mustInput
=
"
true
"
>
六、单选(radio)
定义:
valueType
=
"
radio
"
属性:
objName 对象名称(字符串)
mustSelect 必输项(
true
/
false
)
举例:
<
input type
=
"
radio
"
name
=
"
test
"
valueType
=
"
radio
"
objName
=
"
租船方式
"
mustSelect
=
"
true
"
>
备注:
对于同一组单选按钮,只需要定义第一个即可。
七、复选(checkbox)
定义:
valueType
=
"
checkbox
"
属性:
objName 对象名称(字符串)
minSelect 最小选择数(数字)
maxSelect 最大选择数(数字)
举例:
<
input type
=
"
checkbox
"
name
=
"
test
"
valueType
=
"
checkbox
"
objName
=
"
爱好
"
minSelect
=
"
2
"
maxSelect
=
"
5
"
>
备注:
对于同一组复选按钮,只需要定义第一个即可。
八、下拉列表框(select)
定义:
valueType
=
"
select
"
属性:
objName 对象名称(字符串)
mustSelect 必输项(
true
/
false
)
举例:
<
select name
=
"
test
"
valueType
=
"
select
"
objName
=
"
租船方式
"
mustSelect
=
"
true
"
>
九、列表框(list)
定义:
valueType
=
"
list
"
属性:
objName 对象名称(字符串)
minSelect 最小选择数(数字)
maxSelect 最大选择数(数字)
举例:
<
select name
=
"
test
"
valueType
=
"
list
"
objName
=
"
爱好
"
minSelect
=
"
2
"
maxSelect
=
"
5
"
>
//
///////////////////////////////////////////////////////////////////////////////////////////////////////
<!--
---------------------------------------------------------------------
//
//
File: form.htc
//
version: 1.0
//
Description:客户端表单验证.
//
author: 伍子
//
//
-------------------------------------------------------------------- -->
<
PUBLIC:COMPONENT id
=
"
formCheck
"
urn
=
"
wwb:formCheck
"
>
<
PUBLIC:ATTACH EVENT
=
"
onsubmit
"
ONEVENT
=
"
checkForm()
"
/>
<
script language
=
"
JavaScript
"
>
function
checkForm()
{
var
oForm
=
event.srcElement;
var
eles
=
oForm.elements;
//
遍历所有表元素
for
(
var
i
=
0
;i
<
eles.length;i
++
)
{
//
是否需要验证
var
sType
=
eles[i].valueType;
if
(sType)
{
if
(eles[i].mustInput
!=
null
&&
eles[i].mustInput)
{
if
(trim(eles[i].value)
==
""
)
{
if
(eles[i].objName
!=
null
)
{
alert(eles[i].objName
+
"
不可以为空
"
);
}
else
{
alert(
"
该文本框为必输字段
"
);
}
eles[i].focus();
event.returnValue
=
false
;
return
false
;
}
}
switch
(sType)
{
//
整数
case
"
int
"
:
if
(
!
checkInt(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
小数
case
"
float
"
:
if
(
!
checkFloat(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
字符串
case
"
string
"
:
if
(
!
checkString(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
日期
case
"
date
"
:
if
(
!
checkDate(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
邮件
case
"
email
"
:
if
(
!
checkEmail(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
单选按钮
case
"
radio
"
:
if
(
!
checkRadio(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
复选按钮
case
"
checkbox
"
:
if
(
!
checkBox(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
下拉列表框
case
"
select
"
:
if
(
!
checkSelect(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
//
列表框
case
"
list
"
:
if
(
!
checkList(eles[i]))
{
event.returnValue
=
false
;
return
false
;
}
break
;
}
}
}
event.returnValue
=
true
;
return
true
;
}
/**/
/*
**检查是否为整数**
*/
function
checkInt(ele)
{
if
(
!
isInt(ele.value))
{
alert(
"
请输入有效整数
"
);
ele.focus();
return
false
;
}
else
{
if
(ele.maxInput
!=
null
&&
!
isNaN(ele.maxInput))
if
(parseInt(ele.maxInput)
<
parseInt(ele.value))
{
alert(
"
您输入的
"
+
convertNullToSpace(ele.objName)
+
"
值应该小于
"
+
ele.maxInput);
ele.focus();
return
false
;
}
if
(ele.minInput
!=
null
&&
!
isNaN(ele.minInput))
if
(parseInt(ele.minInput)
>
parseInt(ele.value))
{
alert(
"
您输入的
"
+
convertNullToSpace(ele.objName)
+
"
值应该大于
"
+
ele.minInput);
ele.focus();
return
false
;
}
}
return
true
;
}
/**/
/*
**检查是否为小数**
*/
function
checkFloat(ele)
{
if
(isNaN(ele.value))
{
alert(
"
请输入有效数字
"
);
ele.focus();
return
false
;
}
else
{
if
(ele.decimalLen
!=
null
&&
!
checkDecimal(ele.value,ele.decimalLen))
{
alert(
"
您输入的
"
+
convertNullToSpace(ele.objName)
+
"
值小数位最多为
"
+
ele.decimalLen);
ele.focus();
return
false
;
}
if
(ele.maxInput
!=
null
&&
!
isNaN(ele.maxInput))
if
(parseInt(ele.maxInput)
<
parseInt(ele.value))
{
alert(
"
您输入的
"
+
convertNullToSpace(ele.objName)
+
"
值应该小于
"
+
ele.maxInput);
ele.focus();
return
false
;
}
if
(ele.minInput
!=
null
&&
!
isNaN(ele.minInput))
if
(parseInt(ele.minInput)
>
parseInt(ele.value))
{
alert(
"
您输入的
"
+
convertNullToSpace(ele.objName)
+
"
值应该大于
"
+
ele.minInput);
ele.focus();
return
false
;
}
}
return
true
;
}
/**/
/*
**检查是否为字符串**
*/
function
checkString(ele)
{
if
(ele.stringLen
!=
null
&&
!
isNaN(ele.stringLen))
{
var
value
=
new
String(ele.value);
if
(value.length
>
parseInt(ele.stringLen))
{
alert(
"
您输入的
"
+
convertNullToSpace(ele.objName)
+
"
最大长度为
"
+
ele.stringLen);
ele.focus();
return
false
;
}
}
return
true
;
}
/**/
/*
**检查是否为日期格式**
*/
function
checkDate(ele)
{
if
(
!
isDate(ele.value))
{
alert(