csdn meizz(梅花雪)的方法,判断日期时间是否有效:<script language=javascript>
String.prototype.isTime = function()
{
  var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
  if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert("2002-1-31 12:34:56".isTime());
alert("2001-2-29 12:54:56".isTime());
alert("2002-1-41 12:00:00".isTime());
</script>

解决方案 »

  1.   

    我已经用控件实现了日期输入,格式为“yyyy-mm-dd”
    if (document.all(表单名).Date.value < String.prototype.isTime )
    { alter (“输入日期不能早于今天!!”)}
    还是达不到预期效果啊,是不是上面代码的格式不对?麻烦高手再看一下,谢谢了,小弟在线等
      

  2.   

    //日期比较函数,参数date:为Date类型,如this日期晚于参数:1,相等:0 早于: -1
    Date.prototype.dateCompare = function(date){
    if(typeof(date) != "object" || !(/Date/.test(date.constructor)))
     throw new Error(-1,"dateCompare(date)的date参数为Date类型.");
    var d = this.getTime() - date.getTime();
    return d>0?1:(d==0?0:-1);
    }
    http://community.csdn.net/Expert/topic/4608/4608231.xml?temp=.18771
      

  3.   

    <script langauge=javascript>
    function checkDate(obj)//判断日期格式是不是符合
    {
    var strDate=obj.value;
    re=/\d{4}\-\d{2}-\d{2}/g
    if(re.test(strDate))//判断日期格式符合YYYY-MM-DD标准
    {
    var DateArray=strDate.split("-");
    var dateElement=new Date(DateArray[0],parseInt(DateArray[1])-1,DateArray[2]);
    if(!((dateElement.getFullYear()==parseInt(DateArray[0]))&&((dateElement.getMonth()+1)==parseInt(DateArray[1]))&&(dateElement.getDate()==parseInt(DateArray[2]))))//判断日期逻辑
    {
    alert("不符合时间逻辑")
    obj.value='';
    }
    else
    {
    var strDate2=new Date();
    var DateArray1=strDate.split("-");
    var dateElement1=new Date(DateArray1[0],parseInt(DateArray1[1])-1,DateArray1[2]);
    if(dateElement1<=strDate2)
    {
    alert("日期必须大于当前日期")
    obj.value='';
    }
    else
    {
    alert("正确")
    }
    }
    }
    else
    {
    alert("格式输入错误")
    obj.value='';
    }

    }
    </script>
    <input name=time1 onblur=checkDate(this)>