自己些校验函数吧,这是我前几天写的:<FORM name="form1" method="post" action="">
<INPUT type="text" value="" id="txt">
<INPUT type="button" value="check" onClick="checkDate(document.all.txt.value)">
</FORM>
<SCRIPT language="javascript">
function checkDate(str)
{
var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g;

//校验格式,如果格式不匹配,返回
if(!pattern.test(str))
{
alert("格式不匹配(YYYY-MM-DD 或 YY-MM-DD)!");
return false;
}
var arrDate = str.split("-");
//支持年份只输入两位数字
if(parseInt(arrDate[0]) < 100)
arrDate[0] = 2000 + parseInt(arrDate[0]) + "";
//看是否在2000-1-1与2099-12-31之间
var numDate = parseInt(arrDate[0]+((parseInt(arrDate[1])<10)?("0"+arrDate[1]):arrDate[1])+""
  +((parseInt(arrDate[2])<10)?("0"+arrDate[2]):arrDate[2])+"");
if(!((numDate)>=20000101&&(numDate)<=20991231))
{
alert("必须位于2000-1-1与2099-12-31之间!");
return false;
}
//验证日期合法性
var date =  new Date(arrDate[0],(parseInt(arrDate[1]) -1)+"",arrDate[2]);
if(date.getYear() == arrDate[0] 
   && date.getMonth() == (parseInt(arrDate[1]) -1)+""
   && date.getDate() == arrDate[2])
{
alert("校验通过!");
return true;
}
else
{
alert("日期不合法!");
return false;
}
}
</SCRIPT>