是在JavaScript中吗?
一个最笨的办法:先检查是不是6位,如果是,取前四位检查是否>=1900,再取后两位检查是否>0 && <13。
应该有好一点的方法,我也想知道啊!!!

解决方案 »

  1.   

    应该是yymmdd的格式吧!
    function checkDT( strDT ){ 
        var Dformate = /\d{2}(0\d|1[0-2])([0-2]\d|3[0-1])/;
    if ( strDT.length ==6 ) {
             if (Dformate.test(strDT)!=false )
             return true;
    }
    return false;
    }
    这个就可以
      

  2.   

    //判断是否为合法的日期;不是返回true//要验证的form变量
    var validForm//判断是否为合法的日期;不是返回true
    function SelectIsNotDate(fieldYear, fieldMonth, fieldDay)
    {
      year = eval("validForm."+fieldYear+".value");
      month = eval("validForm."+fieldMonth+".value");
      day = eval("validForm."+fieldDay+".value");
      if (IsDateValide(year, month, day))
      { return false;}
      else
      { return true;}
    }// *************************************************
    // *                   私有函数                    *
    // *************************************************//是否为合法的日期;合法返回true
    function IsDateValide(year, month, day)
    {
      bi = (year%400==0 || (year%4==0 && year%100!=0));
      if ( ( month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12 ) && day >= 1 && day <= 31)
        { correct = true;}
        else
        {
      if ( ( month == 4 || month == 6 || month == 9 || month == 11 ) && day >= 1 && day <= 30)
      { correct = true;}
      else
      {
    if (bi)
    { correct = ( day >= 1 && day <= 29 && month == 2);}
    else
    { correct = ( day >= 1 && day <= 28 && month == 2);}
      }
    }
      return correct;  
    }