我用你的代码,好象没有你所说的问题;<script language=javascript>
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';//&frac14;&Oacute;°&Euml;&ETH;&iexcl;&Ecirc;±&Ecirc;&Ccedil;&Ograve;ò&Icirc;&ordf;&Icirc;&Ograve;&Atilde;&Ccedil;&acute;&brvbar;&Oacute;&Uacute;&para;&laquo;°&Euml;&Ccedil;&oslash;
   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;
   }
}
function window.onload(){
if(isdate("1900-12-12","-"))
alert("yes");
else
alert("no");
}
</script>