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.DATA_NASCITA))
{
frmObj.DATA_NASCITA.focus();
frmObj.DATA_NASCITA.select();
return(false);
}
// Abilita l'invio del FORM
return(true);
}
// -->
</script>
<form method="post" action="edit.asp?cod=<%=cod%>" onsubmit="return(isValidDates(this));">