Gut, hier also die gesamte Funktion und ein paarder datumsfelder die überprüftwerden.
function checkDatum(infeld)
{
var Datum, Tag, Monat, Jahr, Laenge, tageMonat;
Datum = infeld.value;
Laenge=Datum.length;
if (Laenge==10 && Datum.substring(2,3)=="." && Datum.substring(5,6)==".")
{
Tag=parseInt(Datum.substring(0,2),10);
Monat=parseInt(Datum.substring(3,5),10);
Jahr=parseInt(Datum.substring(6,10),10);
if (Monat==4 || Monat==6 || Monat==9 || Monat==11)
{
tageMonat=30;
}
else if (Monat==1 || Monat==3 || Monat==5 || Monat==7 || Monat==8 || Monat==10 || Monat==12)
{
tageMonat=31;
}
else if(Monat==2 && Jahr%4==0 && Jahr%100!=0 || Jahr%400==0)
{
tageMonat=29;
}
else if(Monat==2 && Jahr%4!=0 || Jahr%100==0 && Jahr%400!=0)
{
tageMonat=28;
}
if (Tag>=1 && Tag<=tageMonat && Monat>=1 && Monat<=12)
{
infeld.style.backgroundColor="white";
return true;
}
else
{
alert ("kein gütiges Datum!");
infeld.focus();
infeld.style.backgroundColor="lightred";
return false;
}
}
else
{
alert ("Bitte das Datum in der Form tt.mm.jjjj eingeben.");
infeld.focus();
infeld.style.backgroundColor="lightred";
return false;
}
}
<input type="text" id="id_eintritt_datum" name="eintritt_datum" value="" onchange="checkDatum(this)";>
<input type="text" id="id_austritt_datum" name="austritt_datum" value="" onchange="checkDatum(this)";>
<input type="text" id="id_kuend_eingang_datum" name="kuend_eingang_datum" value="" onchange="checkDatum(this)";>
<input type="text" id="id_kuend_best_datum" name="kuend_best_datum" value="" onchange="checkDatum(this)";>