<html>  
<head>  
<meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312">  
<title></title> 
<script>
function checkDate()
{
   var  now  =  new  Date();  
    
   var dateNow =now.getYear()  +  "-"+  (now.getMonth()+1)+"-"+now.getDate();    var txtDate = document.all.txtDate.value;
   //判断日期是否合法
   if (txtDate.length == 0)
   {
       alert("请输入日期");
       document.all.txtDate.focus();
       return false;
   }
   else
   {
       if(!scanDate(txtDate))
       {
   alert('输入日期格式错误!');
           return false;
       }
   }
  //日期合法检查天数,
  var dateDiff = DateDiff(dateNow ,txtDate);
  if (dateDiff>15)
  {
     alert('只能输入与当前日期相差15日内的日期');
     return false;
  }
  else
 {
     alert('日期合法');
     return true;
 }
   
}        
   //计算天数差的函数,通用  
   function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2002-12-18格式  
       var  aDate,  oDate1,  oDate2,  iDays  
       aDate  =  sDate1.split("-")  
       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2002格式  
       aDate  =  sDate2.split("-")  
       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
       return  iDays  
   }  
   //日期是否合法
      function scanDate(str) 
      { 
         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
         if(r==null)return false; 
         var d= new Date(r[1], r[3]-1, r[4]); 
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); 
      } 
</script> 
</head>  
 
<body>  
建议你使用日历控件:
http://www.meizz.com/Web/Download/Web_Calendar_30.rar
只能输入与当前日期相差15天的日期<input type="text" id="txtDate">
<input type="button" onclick="return checkDate()" value="检查日期">
</body>  
</html>

解决方案 »

  1.   

    <html>  
    <head>  
    <meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312">  
    <title></title> 
    <script>
    function checkDate()
    {
       var  now  =  new  Date();  
       //当前日期
       var dateNow =now.getYear()  +  "-"+  (now.getMonth()+1)+"-"+now.getDate(); 
       var obj = document.all.txtDate
       var txtDate = obj.value;
       //判断日期是否合法
       if (txtDate.length == 0)
       {
           alert("请输入日期");
           obj.focus();
           obj.select();
           return false;
       }
       else
       {
           if(!scanDate(txtDate))
           {
       alert('输入日期格式错误!');
               obj.focus();
               obj.select();
               return false;
           }
       }
      //日期合法检查天数,
      var dateDiff = DateDiff(dateNow ,txtDate);
      if (dateDiff>=15)
      {
         alert('只能输入与当前日期相差15日内的日期');
         obj.focus();
         obj.select();
         return false;
      }
      else
     {
         alert('日期合法');
         return true;
     }
       
    }
        
     
       //计算天数差的函数,通用  
       function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2002-12-18格式  
           var  aDate,  oDate1,  oDate2,  iDays  
           aDate  =  sDate1.split("-")  
           oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2002格式  
           aDate  =  sDate2.split("-")  
           oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
           iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
           return  iDays  
       }  
       //日期是否合法
       //1999-09-09
          function scanDate(str) 
          { 
             var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
             if(r==null)return false; 
             var d= new Date(r[1], r[3]-1, r[4]); 
             return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); 
          } </script> 
    </head>  
     
    <body>  
    建议你使用日历控件:
    http://www.meizz.com/Web/Download/Web_Calendar_30.rar<br>
    只能输入与当前日期相差15天的日期<input type="text" id="txtDate">
    <input type="button" onclick="return checkDate()" value="检查日期">
    </body>  
    </html>
      

  2.   

    http://community.csdn.net/Expert/topic/4360/4360247.xml?temp=.3142969调用里面相应的方法,然后代码如下即可:var testDate = "2005-11-25";
    var date = new Date();
    if(Math.abs(date.calDateDistance(testDate.createDate(),"dd",0)) > 15)
    alert("超出日期范围了!");