Hallo zusammen,
vielleicht hat jemand einen Nutzen aus dem folgenden Skript:
Überprüft ein Feld auf ein bestimmtes Format.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; }
Aufruf erfolgt über
Verbesserungsvorschläge sind gerne willkommen.Code:<form onSubmit="return (checkText('datum','Fehlermeldung',window.document.formularName,'feldName','Text der im Feld steht'))"
Grüße
Jan
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)