prova così...
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function formatoData(txt,id){
var re = /^\d{2}\/\d{2}\/\d{4}$/
if(re.test(txt)){
var adata = txt.split('/');
var gg = parseInt(adata[0],10);
var mm = parseInt(adata[1],10);
var aaaa = parseInt(adata[2],10);
var xdata = new Date(aaaa,mm-1,gg)
if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg)){
return true;
}else {
alert("Data inesistente.\nImmettere nuovamente la data usando il formato: \nDD/MM/AAAA");
document.getElementById(id).value="";
document.getElementById(id).focus();
}
}else{
alert("Formato data errato.\nImmettere nuovamente la data usando il formato: \nDD/MM/AAAA");
document.getElementById(id).value="";
document.getElementById(id).focus();
}
}
//-->
</script>
</head>
<body>
<form name="form1" method="post" action="">
<input name="datainizio" type="text" id="datainizio" onchange="formatoData(this.value,this.id)">
data1</p>
<input name="datafine" type="text" id="datafine" onchange="formatoData(this.value,this.id)">
data2</p>
</form>
</body>
</html>
ciao