参考:
http://www.jb51.net/html/200704/6/9232.htm

解决方案 »

  1.   

    var d ;
    alert(d instanceof Date);
      

  2.   

    先根据格式取得年月日,比如
    s = "2007-8-1";
    a = s.split("-");
    y = parseInt(a[0]);
    m = parseInt(a[1])-1;
    d = parseInt(a[2]);dt = new Date(y,m,d);
    if(dt.getFullYear()!=y || dt.getMonth()!=m || dt.getDate()!=d) alert("错误的日期");
    else alert("有效的日期");简单点的用Date.parse(s),但s的格式有要求.
      

  3.   

    alert(d instanceof Date);
    这种类型能说具体一点吗》?
      

  4.   

    判断d是否是Date类型的一个实例其实,我不太明确你的需求,你应该说具体一点,别让我们乱猜,浪费时间
      

  5.   

    <script language=javascript>
    function checkDate(obj){
    var strDate=obj.value;
    re=/^(\d{4})(\d{2})(\d{2})$/g
    if(re.test(strDate))//判断日期格式符合YYYY-MM-DD标准
    {
    var dateElement=new Date(RegExp.$1,parseInt(RegExp.$2,10)-1,RegExp.$3);
    if(!((dateElement.getFullYear()==parseInt(RegExp.$1))&&((dateElement.getMonth()+1)==parseInt(RegExp.$2,10))&&(dateElement.getDate()==parseInt(RegExp.$3))))//判断日期逻辑
    {
    alert("不符合时间逻辑")
    obj.value='';
    }
    }
    else
    {
    alert("格式输入错误")
    obj.value='';
    }
    }
    </script>
    <input name="aaa" onblur="checkDate(this)">在邻居copy的
      

  6.   

    其实你的要求只要
    function checkDate(obj){
    var strDate=obj.value;
    re=/^(\d{4})(\d{2})(\d{2})$/g
    if(re.test(strDate))//判断日期格式符合YYYY-MM-DD
                                         {
                                          alert("right");//do something
                                          }
                                          }
           就可以了