软考结束了,整理了一些之前做的项目和一些联系,整理了一些关于javascript数据验证的函数,供大家参考.
一.比较两个日期的大小,如果开始日期大于结束日期,返回false
入口参数:
BDate:开始日期输入框
EDate:结束日期输入框
Msg: 出错显示的信息
function CheckDiffDate(BDate,EDate,Msg)
{
if ( (!CheckEmpty(BDate,"请输入开始时间或日期!")) || (!CheckEmpty(EDate,"请输入结束时间或日期!")) )
return false;
str = BDate.value;
if(!IsDate(str)){DispMessage(BDate,"开始时间或日期不是有效的日期");return false;}
aa = str.split("-");
BYear = parseInt(aa[0],10);
BMonth = parseInt(aa[1],10);
BDay = parseInt(aa[2],10);
str = EDate.value;
if(!IsDate(str)){DispMessage(EDate,"结束时间或日期不是有效的日期");return false;}
bb = str.split("-");
EYear = parseInt(bb[0],10);
EMonth = parseInt(bb[1],10);
EDay = parseInt(bb[2],10);
if(BYear<1900)
{
DispMessage(BDate,"日期不能小于1900年!");
return false;
}
if(EYear<1900)
{
DispMessage(EDate,"日期不能小于1900年!");
return false;
}
b=(BYear*10000)+(BMonth*100)+BDay;
e=(EYear*10000)+(EMonth*100)+EDay;
if(e==b)
return true;
else
if(e>b)
return true;
else
{
DispMessage(BDate,Msg);
return false;
}
}
二. 判断是否是正确的用户名
用户名只能由小写英文字母、阿拉伯数字和下划线组成
入口参数:
CheckCtl :要检验的输入框
s:出错时需要警告的信息s=null or s=""时有默认的提示信息.true:是 false:否
function IsUserName(CheckCtl,s)
{
try
{
var t = Trim(CheckCtl.value);
if (t==null || t=="")
{
return false;
}
if (s=="" || s==null){
s = "用户名只能由小写英文字母、阿拉伯数字和下划线组成!";
}
if (!IsValid(/[a-z]*|\d*|\_/,CheckCtl, s)){
return false;
}
return true;
}
catch(x)
{
return false;
}
}
三.校验一个值是否为空
入口参数:CheckCtl:要校验的输入框
disptext:出错显示的信息
false:为空
function CheckEmpty(CheckCtl,disptext)
{
if (Trim(CheckCtl.value)=="" )
{
DispMessage(CheckCtl,disptext);
return false;
}
else
return true;
}
总结
使用javascript 验证数据的好处
(1)减少网络传输
在JavaScript这样的用户端脚本语言出现之前,传统的数据提交和验证工作均由用户端浏览器通过网络传输到服务器上进行。如果数据量很大,这对于网络和服务器的资源来说实在是一种无形的浪费。而使用JavaScript就可以在客户端进行数据验证。
(2)方便操纵HTML对象
JavaScript可以方便地操纵各种页面中的对象,用户可以使用JavaScript来控制页面中各个元素的外观、状态甚至运行方式,JavaScript可以根据用户的需要“定制”浏览器,从而使网页更加友好。