Letzer Zugriff am
06 Feb. 2012 um 08:30 Uhr
Kommentare
Beitrag kommentieren
06 Mai 2011
Tastaturen: Logitech G-Serie...
17 Apr. 2011
Joomla 1.6 - Was ist neu...
26 Feb. 2011
Günstig und kostentransparen...
13 Jul. 2010
Wenn Bilder lügen - Photosho...
12 Apr. 2010
» 146348 mal
2. Briefvorlagen nach DIN fü...
» 93114 mal
3. Achtung: Spielen gefährde...
» 22054 mal
4. DVD::RIP - Das Schweizer ...
» 21072 mal
5. O2 can do - wie das Verbr...
» 20733 mal
Erstellt am: 08 Feb. 2009
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. Ich stelle eine kleine Funktion vor, die schnell für fast alle Gültigkeitsprüfungen verwendet werden kann.
Alle aktuellen Browser kennen den Befehl match(). Der ü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. Die bestehen in Deutschland aus 5 Zahlen.
Ein Beispiel:
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.
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("ma@dirk hoeschen.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 Phyton, Perl oder PHP natürlich auch mit Regulären Ausdrücken umgehen können, kann man die gleichen Formeln einsetzen.
Links
- Ein Beispiel aus einem aktuellen Projekt (PLZ in der Suche)
- Reguläre Ausdrücke auf Wikipedia
- Der Befehl match() auf SelfHTML
0 Kommentar(e)
Keine Kommentare bis jetzt.Beitrag kommentieren
Ich freue mich jederzeit über Fragen, Anmerkungen und Kritik. Also gebt euch einen Ruck und kommentiert diesen Artikel.
zur Übersicht



