Ciao a tutti ho bisogno di una funzione che controlla se la data è una data vera oppure no.
ho trovato uno script però funziona in parte perchè se si scrive 56/1/2010 es l'accetta lo stesso.
So potrei fare in modo che il giorno non superi i 31 ed il mese non superi il 12 però non so come fare per controllare l'esatezza della data perchè in questo modo se scrivo 30/2/2010 verrebbe lo stesso accettata. Non so nemmeno gestirmi con l'anno bisestile.
Qualcuno mi sa dare un aiuto?
codice:
function IsDate(txtDate)
{
strData = Trim(txtDate);
var stringa = Split(txtDate, "-");
var giorno = stringa[0];
var mese = stringa[1];
var anno = stringa[2];
if(giorno.length==1)
giorno = "0"+giorno;
if(mese.length==1)
mese = "0"+mese;
txtDate = giorno +"/" + mese +"/" + anno
txtDate = Trim(txtDate);
alert("*" +txtDate+ "*")
try
{
if (txtDate.length != 10)
{
return null;
}
else if
(
isNaN(txtDate.substring(0, 2)) ||
txtDate.substring(2, 3) != "/" ||
isNaN(txtDate.substring(3, 5)) ||
txtDate.substring(5, 6) != "/" ||
isNaN(txtDate.substring(6, 15))
)
{
return false;
}
else
{
return true;
}
}
catch (e)
{
return null;
}
}