Javascript htc的客户端表单验证

出处:

今天查ASP函数大全时发现这篇
很多人喜欢直接用javas cript验证表单,比如文本框内不能为空,必须填写数字,必须是小数等等,这样对于表单内控件较少的情况下很实用,但是要是表单内控件相对多的情况下,来看看htc的效果吧!(其实htc也是javas cript)

首先建立文件 form.htc,把下面的代码复制到form.htc就可以了
/////////////////////////////////////////////////////////////////////////////////////////////////////////

<!-- ---------------------------------------------------------------------
//
// File: form.htc
// version: 1.0
// Des cription:客户端表单验证.
// author: 伍子
//
//-------------------------------------------------------------------- -->
<PUBLIC:COMPONENT id="formCheck" urn="wwb:formCheck"> 
<PUBLIC:ATTACH EVENT="onsubmit" ONEVENT="checkForm()"/>
<s cript language="Javas cript">
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("请输入有效日期(yyyy-mm-dd)";
ele.focus();
return false;
}
return true;
}

/***检查是否为电子邮箱***/
function checkEmail(ele)
{
if(!isEmail(ele.value))
{
alert("请输入有效邮箱";
ele.focus();
return false;
}
return true;
}
/***检查单选按钮是否需要选择***/
function checkRadio(ele)
{
//var rads = document.getElementsByName(ele.name);
eval("var rads="+name+"."+ele.name);
var selectCount=0;
for(var i=0;i<rads.length;i++)
{
if(rads[i].checked)
{
selectCount++;
}
}

if(ele.mustSelect!=null && ele.mustSelect)
{
if(selectCount==0)
{
alert("请选择"+convertNullToSpace(ele.objName));
ele.focus(); 
return false;
}
}
return true;
}
/***检查复选按钮是否需要选择***/
function checkBox(ele)
{
//var rads = document.getElementsByName(ele.name);
eval("var chks="+name+"."+ele.name);
var selectCount=0;
for(var i=0;i<chks.length;i++)

 

下一页
本文共 3 页,第   [1]   [2]   [3]  页

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值