Formularfelder überprüfen mit Javascript

Gültigkeitsprüfungen für Formularfelder gibt es viele. Der Befehl match() wird dabei seltsamerweise selten benutzt, obwohl damit Überprüfungen als Einzeiler möglich sind.

Wir stellen hier eine kleine Funktion vor, die schnell für fast alle Gültigkeitsprüfungen verwendet werden kann.

Alle aktuellen Browser kennen den Befehl match(). Dieser überprüft anhand von regulären Ausdrücken (Regular-Expressions) einen Text und gibt entweder NULL oder den Text zurück.

Ein Beispiel ist die Überprüfung von Postleitzahlen. Diese bestehen in Deutschland aus 5 Zahlen.

var text ="12345";
alert(text.match(/^[0-9]{5}$/));

Das Beispiel gibt nur bei exakt 5 Ziffern einen String aus. Wenn man z.B. ein Postleitzahlenfeld direkt nach der Eingabe überprüfen wollte, reicht folgender Befehl.

<input type="text" name="plz" onblur="if (!this.value.match(/^[0-9]{5}$/)) alert('Die Postleitzahl ist ungültig');" >

Im folgenden Codebeispiel prüft die Funktion testStr() je nach Aufruf die Gültigkeit von Texten, Emails oder Postleitzahlen.

 

Formcheck
<script type="text/javascript">
 
function testStr(tString,type) {
switch (type) {
case "email":
return !(tString.match(/([a-z0-9._-]
+ @[a-z0-9._-]
+.[a-z]{2,4})/gi
))? false:true;

break;
case "plz":
return !(tString.match(/^[0-9]{5}$/))? false:true;
break;
default:
return !(tString.match(/([a-z0-9.,;:öäüß _-])/gi))? false:true;
}
}
 
// falsche email testen
alert(testStr("test@un gueltig:de","email"));
// falsche plz testen
alert(testStr("1234","plz"));
// leeren oder falschen string testen
alert(testStr("","plz"));
</script>

 

Das ist natürlich nur eine Anregung. Reguläre Ausdrücke können viel komplexer sein. Die Überprüfung mit Javascript ersetzt natürlich auch nicht die Kontrolle der Eingabe nach dem Absenden. Da Python, Perl oder PHP natürlich auch mit regulären Ausdrücken umgehen können, kann man die gleichen Formeln einsetzen.

Links

  1. Ein Beispiel aus einem aktuellen Projekt (PLZ in der Suche)
  2. Reguläre Ausdrücke auf Wikipedia
  3. Der Befehl match() auf SelfHTML
 

Kommentar hinzufügen

E-Mail: Für Antworten. Wird nicht angezeigt.
  Sicherheitscode zur Prüfung. Nur Kleinschreibung. Keine Leerzeichen.
 

Gmeiner Verlag gewinnt Website Award Mittelstand Baden-Württemberg 2011
Die von uns in Zusammenarbeit mit der Agentur Buchgut realisierte... weiter

Lukas Verlag (Webseite & Verlagsverwaltung)
Der »Lukas Verlag für Kunst- und Geistesgeschichte« ist ein... weiter

Microsite - 25 Jahre Gmeiner Verlag
Der Gmeiner Verlag hat anlässlich des 25jährigen Jubiläums... weiter

Microsite - 25 Jahre Gmeiner Verlag