我有一个在客户端用javascript检查input输入日期的函数:
function isNumber(oText)
{
if (ToIntDefault(oText.value,-1)<0)
{
//alert("请在 "+oText.name+" 输入正确整数!");
return false;
}    
return true;
}
function isDate(oText)
{
/* if(isNaN(Date.parse(oText.value)))
{
alert("请在 "+oText.name+" 输入正确日期!");
return false;
}
return true;*/
if (trim(oText.value)=="") return true;
var SearchStr=/^(\d{4})[-|.](\d{1,2})[-|.](\d{1,2})$/g;
if(oText.value.search(SearchStr))
{
alert("请输入正确的日期!\n格式:2001-6-12\n    或    2001.6.12。");
oText.focus();  
return false;
}
else
{
var temp=SearchStr.exec(oText.value)
if(RegExp.$2>12 || RegExp.$2<1)
{
alert("请输入正确的月份数字!");
oText.focus();  
return false;
}
else
{
switch(RegExp.$2*1)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(RegExp.$3*1>31)
{
alert("请输入正确的日期数字!");
oText.focus();  
return false;
}
break;
case 4:
case 6:
case 9:
case 11:
if(RegExp.$3*1>30)
{
alert("请输入正确的日期数字!");
oText.focus();  
return false;
}                
break;
case 2:
if(RegExp.$1*1 % 4==0)
{
if(RegExp.$3*1>29)
{
alert("请输入正确的日期数字!");
oText.focus();  
return false;
}                
}
else
{
if(RegExp.$3*1>28)
{
alert("请输入正确的日期数字!");
oText.focus();  
return false;
}                
}
break;
}
}
}
return true;
}