就你这个算发而言可以这样:
if(str.split('-').length==2)
{
   str += "-1" ;
}
DateTime.Parse(str);
return true;

解决方案 »

  1.   

    用这个东东就可以了
    isDate(txtDate.Text)根据返回的boolean值就可以判断了。
      

  2.   

    If IsDate(txtdate.Text) = False Then
    endif
      

  3.   

    参考,自己修改一下,这是一个完整的判断
    function isdate(DateString , Dilimeter)
    {
       if (DateString==null) return false;
       if (Dilimeter=='' || Dilimeter==null)
          Dilimeter = '-';
       var tempy='';
       var tempm='';
       var tempd='';
       var tempArray;
       if (DateString.length<8 && DateString.length>10)
           return false;       
       tempArray = DateString.split(Dilimeter);
       if (tempArray.length!=3)
          return false;
       if (tempArray[0].length==4)
       {
          tempy = tempArray[0];
          tempd = tempArray[2];
       }
       else
       {
          tempy = tempArray[2];
          tempd = tempArray[1];
       }
       tempm = tempArray[1];
       var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区
       var tempDate = new Date(tDateString);
       if (isNaN(tempDate))
          return false;
      if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd)))
       {
          return true;
       }
       else
       {
          return false;
       }
    }