<script language=javascript>
function isDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert(isDate("2002-01-31"));
alert(isDate("2002-01-41"));
</script>
function isDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert(isDate("2002-01-31"));
alert(isDate("2002-01-41"));
</script>
if(ymd==undefined){
return(false);
}
if(ymd==""){
return(false);
}
var d=ymd.split("-");
if(d.length!=3){
return(false);
}
if(isNaN(d[0]) || isNaN(d[1]) || isNaN(d[2])){
return(false);
}
if(eval(d[0])==0||eval(d[1])==0||eval(d[2])==0){
return(false);
}
var dt=new Date();
dt.setDate(1);
dt.setFullYear(eval(d[0]));
dt.setMonth(eval(d[1])-1);
dt.setDate(eval(d[2]));
if(eval(d[0])!=dt.getFullYear()){
return(false);
}
if(eval(d[1])!=dt.getMonth()+1){
return(false);
}
if(eval(d[2])!=dt.getDate()){
return(false);
}
return(true);
}