Letzer Zugriff am
31 Jul. 2010 um 17:16 Uhr
Kommentare
Beitrag kommentieren
13 Jul. 2010
Wenn Bilder lügen - Photosho...
12 Apr. 2010
Defekte Festplatten analysie...
26 Dez. 2009
Das Samsung N510 unter Unbun...
02 Dez. 2009
PHP Download counter Script...
15 Okt. 2009
» 90470 mal
2. Briefvorlagen nach DIN fü...
» 43375 mal
3. DVD::RIP - Das Schweizer ...
» 12894 mal
4. Achtung: Spielen gefährde...
» 12694 mal
5. Die Developer Toolbar: Ei...
» 11692 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



