posts - 66,  comments - 40,  trackbacks - 0
<script language=javascript>
function GetTodayDate()
{
   today= new Date();
   y= today.getYear();
   m= (today.getMonth() + 1);
   if (m<10)
   {
     m='0'+m;
   }
   d= today.getDate();
   if (d<10)
   {
     d='0'+d;
   }
  
   h = today.getHours();
   if(h<10){
     h = '0'+h
   }
 
 return y+'-'+m+'-'+d+' '+h;
}
 function time()
 {
 
   var a =GetTodayDate();
  
   document.form.startDate.value=a.substring(0,10)+' 00';
 }
 function time2()
 {
   var a =GetTodayDate();
   document.form.endDate.value=a;
 }
 
   function checkForm(o)
 {
  if(o.startDate.value =="" || o.startDate.value.match(/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}\s[0-9]{2}$/)==null)
  {
   alert("请正确输入起始时间,日期与时间之间用空格隔开,精确到小时(如:2006-04-19 00)");
   form.startDate.focus();
   return false;
  }
  
  if(o.endDate.value =="" || o.endDate.value.match(/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}\s[0-9]{2}$/)==null)
  {
   alert("请正确输入结束时间,日期与时间之间用空格隔开,精确到小时(如:2006-04-19 09)");
   form.endDate.focus();
   return false;
  }
  
  //if(o.startDate.value.substring(0,7) != o.endDate.value.substring(0,7)){
  // alert("不支持跨月查询,请保持开始时间与结束时间年份和月份相同");
  // return false;
  //}
  
  if(o.startDate.value.substring(11,13)<0 || o.startDate.value.substring(11,13)>23){
   alert("起始时间的小时已超出0到23范围,请重新输入");
   form.startDate.focus();
   return false;
  }
  
  if(o.endDate.value.substring(11,13)<0 || o.endDate.value.substring(11,13)>23){
   alert("结束时间的小时已超出0到23范围,请重新输入");
   form.endDate.focus();
   return false;
  }
 
 
  if(o.startDate.value=="")
  {
   alert('起始查询时间不能为空');
   return false;
  }
  var dateStart=o.startDate.value.split('-');
  if(dateStart.length!=3)
  {
   alert('请输入正确的起始时间格式');
   return false;
  }
  for(var i=0;i<dateStart.length;i++){
   if(dateStart[i]=="")
    {
     alert('请输入正确的起始时间格式');
     return false;
    }
  }
  var yearlyStart=year(dateStart[0]);
  var monthlyStart=month(dateStart[1]);
  if(yearlyStart==0&&monthlyStart==0){
   var days=numberOfDays(dateStart[1],dateStart[0]);
     today= new Date();
     y= today.getYear();
     m= (today.getMonth() + 1);
     if(dateStart[0]>y||dateStart[0]<2005){
      alert("起始时间中请输入年份大于等于2005小于等于当前年份的年份");
      return false;
     }
     if(dateStart[1]>m&&dateStart[0]&&dateStart[0]<=y&&dateStart[0]>=2005){
      alert("起始时间中请输入小于当前等于当前的月份");
      return false;
     }
     if(dateStart[0]==2005)
     {
      if(dateStart[1]<9)
      {
       alert("日志于2005-09月开始生成,9月以前未生成日志");
       return false;
      }
     }
    
   if(dateStart[2].substring(0,2)<=days&&dateStart[2].substring(0,2)>0)
   {
    return true;
   }else{
    alert("对不起此月只有"+days+"天");
    return false;
   }
  }else{
   alert("起始时间中请输入年份大于等于2005小于当前年份的年份,月份1至12月份");
   return false;
  }
  
  
  if(o.endDate.value=="")
  {
   alert('结束时间不能为空');
   return false;
  }
  var dateEnd=o.endDate.value.split('-');
  if(dateEnd.length!=3)
  {
   alert('请输入正确的结束时间格式');
   return false;
  }
  for(var i=0;i<dateEnd.length;i++){
   if(dateEnd[i]=="")
    {
     alert('请输入正确的结束时间格式');
     return false;
    }
  }
  var yearlyEnd=year(dateEnd[0]);
  var monthlyEnd=month(dateEnd[1]);
  if(yearlyEnd==0&&monthlyEnd==0){
   var days=numberOfDays(dateEnd[1],dateEnd[0]);
     today= new Date();
     y= today.getYear();
     m= (today.getMonth() + 1);
     if(dateEnd[0]>y||dateEnd[0]<2005){
      alert("结束时间中请输入年份大于等于2005小于等于当前年份的年份");
      return false;
     }
     if(dateEnd[1]>m&&dateEnd[0]&&dateEnd[0]<=y&&dateEnd[0]>=2005){
      alert("结束时间中请输入小于当前等于当前的月份");
      return false;
     }
     if(dateEnd[0]==2005)
     {
      if(dateEnd[1]<9)
      {
       alert("日志于2005-09月开始生成,9月以前未生成日志");
       return false;
      }
     }
    
   if(dateEnd[2].substring(0,2)<=days&&dateEnd[2].substring(0,2)>0)
   {
    return true;
   }else{
    alert("对不起此月只有"+days+"天");
    return false;
   }
  }else{
   alert("结束时间中请输入年份大于等于2005小于当前年份的年份,月份1至12月份");
   return false;
  }
  
  return true;
 }
 function month(month)
 {
  if(month>=1&&month<=12)
   return 0;
  else
   return 1;
 }
 function year(year)
 {
  if(year>=2005)
   return 0;
  else
   return 1;
 }
 function numberOfDays(month,year)
 {
     month=month-1;
     var numDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
     n=numDays[month];
     if(month==1&&year%4==0) ++n;
     return n;
   }
 
</script>


使用方法: 格式 2006-05-07 15
调用:   form 中  调用  onsubmit="return checkForm(this);
posted on 2006-05-12 11:23 happytian 阅读(482) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

Welcome here, my friend!

常用链接

留言簿(12)

随笔档案(66)

文章分类

文章档案(63)

web

最新随笔

搜索

  •  

积分与排名

  • 积分 - 87925
  • 排名 - 645

最新评论

阅读排行榜

评论排行榜