利用JavaScript实现客户端输入日期验证

 利用JavaScript实现客户端输入日期验证
2007-12-08 09:29


      部分代码取自网络,经提练加工,奉献给网络。
      转载请务必注明:来自刚毅博客http://hi.baidu.com/lkweb
一、编写脚本文件:my.js
内容如下:
//去掉字符串左边空格
function leftTrim(text){
        if(text==null || text=="") return text;
        var leftIndex=0;
        while(text.substring(leftIndex,leftIndex+1)==" ")
                leftIndex++;
        return text.substring(leftIndex, text.length);
}
//去掉字符串右边空格
function rightTrim(text){
        if(text==null || text=="") return text;
        var rightIndex=text.length;
        while(text.substring(rightIndex-1, rightIndex)==" ")
                rightIndex--;
        return text.substring(0,rightIndex);//返回
}
//去掉字符串两边空格
function trim(text){
   return rightTrim(leftTrim(text));
}
//替换字符方法
function replaceAll(text,replacement,target){
        if(text==null || text=="") return text;//如果text无内容,返回text
        if(replacement==null || replacement=="") return text;//如果replacement无内容,返回text
        if(target==null) target="";//如果target无内容,设置为空串
        var returnString="";//定义返回值变量,并初始化
        var t=text;
        var index=(""+t).indexOf(replacement);//定义查找replacement的索引下标,并进行第一次查找

        while(index!=-1){//直至未找到replacement,要么进行下面的处理
                if(index==0) {
                                 returnString +=target;
                                 t=t.substring(replacement.length);
                                 index=t.indexOf(replacement);//进行查询,准备下一次处理

               } else {returnString+=t.substring(0, index)+target;
                 //如果找到的replacement前有字符,累加到返回值中,并加上target
                  t=t.substring(index+replacement.length);//取掉找到的replacement及前边的字符
                  index=t.indexOf(replacement);//进行查询,准备下一次处理
               }
         }

        return returnString+=t;
}
//日期检测方法
function checkDate( a ){
   var z=a.indexOf(" ");
   if(z!=-1)
   if(z<8 || z>12) { //日期中空格为9至11位
     alert("所输入的日期中空格位置不对!/n完整的日期,如:/n2007-09-09或2007-09-09 09:12:07/n或2007-09-09 09:12:07/n2007-9-9或2007-9-9 9:12:7等");
return false;}
//以下取得日期中的数字组成的字符串
   a=replaceAll(a,"-","");
a=replaceAll(a,"/","");
   a=replaceAll(a,".","");
   a=replaceAll(a," ","");
   a=replaceAll(a,":","");
   z=a.length;
     //检测数字组成的字符串中是否有非法字符
   for(i=0;i<z;i++) {   
    if( isNaN( parseInt( a.charAt(i) ) ) ){
      alert("所输入的日期中有非法字符:"+a.charAt(i)+"    ^-^");
      return false;
    }
   }
   return true;
}

//test.htm中调用的方法
function checkData( ){

   var d=trim((document.pingping.issueTime.value));
   return checkDate(d );
}

二、编写测试文件: test.htm
<html>
<head>
<title>检测所输入日期中字符的合法性</title>
<script language="javascript" src="my.js">
</script>
</head>
<body>
<form action="123.asp" mehod="post" name="pingping" onSubmit="checkData( )">
<input name="issueTime">
<input type=submit>
</form>
</body>
</html>
三、编写服务器端运行文件: lk.asp
<%@ language="jscript" %>
<%=Request("issueTime")%>
四、将 test.htm,124.asp,my.js放在同一服务器目录中,测试。
来自 http://hi.baidu.com/lkweb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值