比如我要求输入的查询日期范围要从20000101到20000131这一个月内,我想对这两个text文本框进行输入验证。
如果输入时间范围超过一个月(31天)就提示,如果没有则继续。我自己原本是将两个日期相减是否大于31来判断,
不过这样无法处理跨年问题。请问js中有现成的方法来判断吗?或是有什么其他办法?

解决方案 »

  1.   

    把你的字符串分成年、月、日三部分,转成数字
    然后用 var time=new Date(年,月,日); 来取得时间,再进行比较操作。注意月是0到11范围
      

  2.   

    20000101就相当于 new Date(2000,0,1);
      

  3.   


    var time1 = new Date('2000/01/01');
     var time2 = new Date('2000/01/31');
     alert((time2-time1)/1000/60/60/24);
    这个是天数,楼主要怎么比较自己选择就可以了
      

  4.   


    <body>
    开始日期:<input id="s" type="text">
    结束日期:<input id="e" type="text">
    <input id="c" type="button" value="判断">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var $=function(o){return document.getElementById(o);},
    dateC=function(s,e){return (new Date(e)-new Date(s))/86400000>30;};
    $("c").onclick =function(){
    var _s=$("s").value,_e=$("e").value;
    if(_s!=""&&_e!=""){
    if(dateC(_s,_e)){
    alert("日期间隔太大,请重新输入!");
    }
    else{
    alert("您输入的日期有效!");
    }
    }
    else{
    alert("请输入内容!");
    }
    };
    //-->
    </SCRIPT>