codice:
<script type="text/javascript">
<!--
function checkDateForm( _datestr ) /* written by Dynamic [admin@codebreakers.tk] */
{
var _minyear = 1970;
var _maxyear = (new Date()).getFullYear();
var _dateform = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;
var _monthdays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var _canvalidatebymonth = true;
var _errordesc = "";
var _errorfound = false;
var _singlematch = null;
if ( (_singlematch = _datestr.match(_dateform)) != null )
{
if ( _singlematch[3] < _minyear || _singlematch[3] > _maxyear ) {
_errorfound = true;
_errordesc += " - l'anno \"" + _singlematch[3] + "\" non è valido\n";
} else
if ((_singlematch[3] % 4 == 0) && (_singlematch[3] % 400 != 0))
_monthdays[1] = 29;
if ( _singlematch[2] < 1 || _singlematch[2] > 12 ) {
_errorfound = true;
_canvalidatebymonth = false;
_errordesc += " - il mese \"" + _singlematch[2] + "\" non è valido\n";
}
if (_singlematch[1] < 1 || ( (_canvalidatebymonth && _singlematch[1] > _monthdays[_singlematch[2]-1]) || (!_canvalidatebymonth && _singlematch[1] > 31)) ) {
_errorfound = true;
_errordesc += " - il giorno \"" + _singlematch[1] + "\" non è valido\n";
}
} else {
_errorfound = true;
_errordesc += " - il formato non è valido\n";
}
if ( _errorfound ) {
alert ("Errore nella data \"" + _datestr + "\":\n" + _errordesc);
return false;
} else
return true;
}
//-->
</script>