JSP 在脚本语言中验证输入日期的格式.

 今天在我做的高级搜索页面中添加了一个检验输入日期格式的脚本编码,主要验证客户端输入的日期形式是否为(YYYY-MM-DD)以及验证输入的日期是否合法.

<script language="javascript">
function  chkdate() 

           var  datestr; 
           datestr=form1.t1.value; 
           var  lthdatestr; 
           if  (datestr != "") 
                       {lthdatestr=  datestr.length}  ; 
           else 
                       {lthdatestr=0};  
             
           var  tmpy=""; 
           var  tmpm=""; 
           var  tmpd=""; 
           var  status; 
           status=0; 
           /*if  (  lthdatestr==  0) 
                       {alert("请输入日期.不能为空")
        return  false;}*/
                                    
           for  (i=0;i<lthdatestr;i++) 
           {            if  (datestr.charAt(i)==  '-') 
                       { 
                                   status++; 
                                  
        }
                       if  (status>2) 
                       { 
                    alert("日期形式错误!请输入日期格式如(2006-01-01)")
           return  false; 
                       }
       
                       if  ((status==0)  &&  (datestr.charAt(i)!='-')) 
                       { 
                                   tmpy=tmpy+datestr.charAt(i); 
                       } 
                       if  ((status==1)  &&  (datestr.charAt(i)!='-')) 
                       { 
                                   tmpm=tmpm+datestr.charAt(i); 
                       } 
                       if  ((status==2)  &&  (datestr.charAt(i)!='-')) 
                       { 
                                   tmpd=tmpd+datestr.charAt(i); 
                       } 
 
           } 
           year=new  String  (tmpy); 
           month=new  String  (tmpm); 
           day=new  String  (tmpd); 
           if  ((tmpy.length!=4)   || (tmpm.length!=2)   ||  (tmpd.length!=2)) 
           { 
                  alert("日期格式错误!请输入日期格式如(2006-01-01)");
                       return  false; 
           } 
           if  (!((1<=month)  &&  (12>=month)  &&  (31>=day)  &&  (1<=day))  ) 
           { 
                 alert("您输入的日期有错误,请重新输入");
                       return  false; 
           } 
           if  (!((year  %  4)==0)  &&  (month==2)  &&  (day==29)) 
           { 
                 alert("该年2月没有29日这一天,请检查后输入正确日期");
                       return  (false); 
           }
           if  ((month<=7)  &&  ((month  %  2)==0)  &&  (day>=31)) 
           { 
                 alert("您输入的日期有错误,请检查后输入正确日期");
                       return  false; 
            
           } 
           if  ((month>=8)  &&  ((month  %  2)==1)  &&  (day>=31)) 
           { 
                 alert("您输入的日期有错误,请检查后输入正确日期");
                       return  false; 
           } 
           if  ((month==2)  &&  (day==30)) 
           { 
                 alert("您输入的日期有错误,请检查后输入正确日期");
                       return  false; 
           } 
           return  true; 

</script>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值