ein Admin: IE & Backspace - Datum eingabescript

Beitrag lesen

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" />