okkio perchè è js!!!:
codice:
<script language="javascript">
<!--
var re = new RegExp("^(\\d{1,2})/(\\d{1,2})/(\\d{4})$", "");
var arrMonths = new Array("Gennaio", "Febbraio", "Marzo", "Aprile",
"Maggio", "Giugno", "Luglio", "Agosto",
"Settembre", "Ottobre", "Novembre", "Dicembre");
function checkDate(dateObj)
{
var dt = dateObj.value.match(re);
if (!dt)
{
alert("La data va inserita nel formato mm/gg/aaaa !");
return(false);
}
month = dt[1];
day = dt[2];
year = dt[3];
if (month < 1 || month > 12)
{
alert("Specificare un mese compreso tra 1 e 12 !");
return(false);
}
// Determina il numero massimo di giorni nel mese month
// Il calendario in uso è quello Gregoriano (introdotto da Papa Gregorio XIII nel 1582)
// ed ha un ciclo di 400 anni con 97 anni bisestili anziché 100.
// Il 1600 era bisestile, 1700, 1800 e 1900 no, il 2000 lo è, 2100, 2200, 2300 no etc.
if (month == 2) maxDay = (!(year % 4) && ((year % 100) || !(year % 400))) ? 29 : 28;
else maxDay = (month == 4 || month == 6 || month == 9 || month == 11) ? 30 : 31;
if (day < 1 || day > maxDay)
{
alert("Il mese di " + arrMonths[month - 1] + " non ha " + day +
" giorni\nSpecificare un giorno compreso tra 1 e " + maxDay + " !");
return(false);
}
return(true);
}
function isValidDates(frmObj)
{
// Controlla data1
if (!checkDate(frmObj.data1))
{
frmObj.data1.focus();
frmObj.data1.select();
return(false);
}
// Controlla data2
if (!checkDate(frmObj.data2))
{
frmObj.data2.focus();
frmObj.data2.select();
return(false);
}
// Abilita l'invio del FORM
return(true);
}
// -->
</script>
</head>
<body>
<form action="estrai_per_data.asp" method="post" onsubmit="return(isValidDates(this));">