so alles noch mal überarbeitet :D
function Datum_Direkteingabe_geb(evt)
{
charCode=0;
if(evt.charCode)
charCode = evt.charCode;
if (typeof event != 'undefined')
charCode = event.keyCode;
if (charCode <= 13)
{
return true;
}
else
{
var datum_zeichen = document.getElementById("Datum_Direkteingabe").value.length;
if(datum_zeichen == 2 || datum_zeichen == 5)
{
document.getElementById("Datum_Direkteingabe").value = document.getElementById("Datum_Direkteingabe").value+".";
}
datum_zeichen = document.getElementById("Datum_Direkteingabe").value.length;
var keyChar = String.fromCharCode(charCode);
datum = document.getElementById("Datum_Direkteingabe").value+keyChar;
switch (datum_zeichen) {
case 0:
var re = /^([0-3]{1})$/;
return re.test(datum);
break;
case 1:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1}))$/;
return re.test(datum);
break;
case 3:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1})).([0-1]{1})$/;
return re.test(datum);
break;
case 4:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1})).(([0]{1}[1-9]{1})|([1]{1}[1-2]{1})|([1]{1}[0-2]{1}))$/;
return re.test(datum);
break;
case 6:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1})).(([0]{1}[1-9]{1})|([1]{1}[1-2]{1})|([1]{1}[0-2]{1})).([1-2]{1})$/;
return re.test(datum);
break;
case 7:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1})).(([0]{1}[1-9]{1})|([1]{1}[1-2]{1})|([1]{1}[0-2]{1})).([2]{1}[0]{1}|[1]{1}[9]{1})$/;
return re.test(datum);
break;
case 8:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1})).(([0]{1}[1-9]{1})|([1]{1}[1-2]{1})|([1]{1}[0-2]{1})).([2]{1}[0]{1}[0-9]{1}|[1]{1}[9]{1}[5-9]{1})$/;
return re.test(datum);
break;
case 9:
var re = /^(([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([0]{1}[1-9]{1})).(([0]{1}[1-9]{1})|([1]{1}[1-2]{1})|([1]{1}[0-2]{1})).([2]{1}[0]{1}[0-9]{1}[0-9]{1}|[1]{1}[9]{1}[5-9]{1}[0-9]{1})$/;
return re.test(datum);
break;
default :
return false;
}
}
}
<input onkeypress="return Datum_Direkteingabe_geb(event)" type="text" size=30 name="Datum_Direkteingabe" id="Datum_Direkteingabe" />