Hallo zusammen,

vielleicht hat jemand einen Nutzen aus dem folgenden Skript:
Code:
/**
* Überprüft die Angaben die der Benutzer in einem 
* einzeiligen Textfeld gemacht hat auf ein bestimmtest Format.
* unterstütze Formate:
* mail => Überprüfung auf korrekte eMail-Adresse
* datum => Überprüfung auf korrektes Datum tt.mm.jjjj
* uhrzeit => Überprüfung auf korrekte Uhrzeit hh:mm:ss
* @param string modus eines der unterstützten Formate
* @param string errMsg Fehlermeldung die bei einem Fehler ausgegegeben werden soll
* ansonsten wird eine Standardfehlermeldung (abhängig vom Modus ausgegeben)
* @param formElement feld Feld im Formular (nicht den Inhalt des Feldes)
* @param string vorgegebenerText Text der vorher im Feld steht
* gibt true oder false zurück
*/

function checkText(modus,errMsg,formular,feld,vorgegebenerText){

var feld = formular.elements[feld];
if(modus == 'mail'){
	if(checkMail(feld) && feld.value!=vorgegebenerText){
	return true;
	}
	else {
		
		if(errMsg!=''){
			alert(errMsg);
			feld.focus();
		}
		else{
			alert("Die angegebene eMail-Adresse ist nicht korrekt.")
			feld.focus();
		}
		return false;
	}
	return
}
if(modus == 'datum'){
	if(checkDate(feld) && feld.value!=vorgegebenerText){
	return true;
	}
	else {
		
		if(errMsg!=''){
			alert(errMsg);
			feld.focus();
		}
		else{
			alert("Das angegebene Datum ist nicht korrekt. Es muss das Format tt.mm.jjjj haben.")
			feld.focus();
		}
		return false;
	}
	return
}
if(modus == 'uhrzeit'){
	if(checkUhrzeit(feld) && feld.value!=vorgegebenerText){
	return true;
	}
	else {
		
		if(errMsg!=''){
			alert(errMsg);
			feld.focus();
		}
		else{
			alert("Die angegebene Uhrzeit ist nicht korrekt. Sie muss das Format ss:mm haben.")
			feld.focus();
		}
		return false;
	}
	return
}


}

/**
* Überprüft ein Feld darauf ob dieses eine eMail-Adresse enthält
* @param formElement mailFeld Formularfeld, dass eine eMail-Adresse enthalten soll
* @return true wenn eMail ok (WICHTIG: Wenn das Feld leer ist gibt es auch true!)
**/
function checkMail(mailFeld){
	if(mailFeld.value.length==0){
		return true // Überprüfung erfolgt über das allgemeine Skript zur Prüfung von Formularelementen!
	}
	var positionAt= mailFeld.value.indexOf("@")
	if(positionAt== -1 || positionAt==0 || positionAt==mailFeld.value.length){
		return false
	}
	if (mailFeld.value.indexOf("@", positionAt + 1) > positionAt) {
	       return false
	}
	var positionPoint = mailFeld.value.indexOf(".", positionAt)

	if ((positionPoint == -1) || (positionPoint - positionAt < 2)) {
		return false
	}
	
	return true;
}

/**
* Überprüft ob das Formularfeld dateFeld ein korrektes Datum überprüft.
* bedingte Prüfung ob Datum existiert.
* Keine Prüfung ob februar 29 oder 28 tage hat
*/
function checkDate(dateFeld){
	if(dateFeld.value.length==0 || dateFeld.value.length !=10){
		return false
	}
	var firstPoint = dateFeld.value.indexOf(".")
	if(firstPoint!=2){
		return false
	}
	var secondPoint = dateFeld.value.indexOf(".", firstPoint + 1)
	if(secondPoint!=5){
		return false
	}
	var tag = dateFeld.value.substr(0,2);
	var monat = dateFeld.value.substr(3,2);
	var jahr = dateFeld.value.substr(6,4);
	if(tag>31 || tag<1 || monat>12 || monat<1){
		return false;
	}
	if(monat==02 && tag>29){
		return false
	}
	if((monat==04 || monat==06 || monat==09 || monat==11) && tag>30){
		return false;	
	}
	return true;

}
Überprüft ein Feld auf ein bestimmtes Format.
Aufruf erfolgt über
Code:
<form onSubmit="return (checkText('datum','Fehlermeldung',window.document.formularName,'feldName','Text der im Feld steht'))"
Verbesserungsvorschläge sind gerne willkommen.


Grüße

Jan