Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 3 Nächste Version anzeigen »

Reguläre Ausdrücke sind ein mächtiges Werkzeug, um ein Muster innerhalb eines Textes zu finden oder die Eingabe einer Zeichenfolge auf deren gültiges Format zu validieren. Je nach Verwendung des regulären Ausdrucks gibt es jedoch einige Punkte zu beachten, auf die wir hier aufmerksam machen wollen.

Inhalt

Validierung von Feldwerten

Validierung einer 5-stelligen Zahl (als Text, z.B. Postleitzahl)

Bei Text-Attributen kann der eingegebene Wert gegen ein angegebenes Format in Form eines regulären Ausdrucks validiert werden. Der im ersten Moment offensichtliche reguläre Ausdruck “[0-9]{5}” ist jedoch nicht richtig, so dass damit auch eine 6- bzw. 7-stellige Zahl akzeptiert würde. Das Problem wird folgend durch ein Beispiel dargestellt. Als Wert wird die Zahl “1234567” verwendet.

  • RegEx "[0-9]{5}" > Es wird validiert, ob eine 5-stellige Ziffernfolge vorhanden ist. Die Validierung ist gültig, da folgende 6-stelligen Zahlen aus der Zeichenfolge erkannt werden: 12345, 23456, 34567

  • RegEx "^[0-9]{5}" > Es wird validiert, ob der Wert mit einer 5-stelligen Ziffernfolge beginnt. Die Validierung ist gültig, da folgende 5-stellige Zahl aus der Zeichenfolge erkannt wird: 12345

  • RegEx "[0-9]{5}$" > Es wird validiert, ob der Wert mit einer 5-stelligen Ziffernfolge endet. Die Validierung ist gültig, da folgende 5-stellige Zahl aus der Zeichenfolge erkannt wird: 34567

  • RegEx "^[0-9]{5}$" > Es wird validiert, ob der Wert von Beginn bis Ende aus einer 5-stelligen Ziffernfolge besteht. Die Validierung ist falsch, da keine exakt 5-stellige Zahl erkannt wird.

Damit beim Attribut eine exakt 5-stellige Zahl validiert wird, muss also der reguläre Ausdruck “^[0-9]{5}$“ verwendet werden.

Suche nach einem String innerhalb eines Textes

Suche nach einer 5-stelligen Zahl (z.B. Postleitzahl)

Im Gegensatz zur Validierung eines Feldwertes können hier die beiden Zeichen für den Beginn (^) und das Ende ($) eines Textes nicht verwendet werden, da der zu suchende String sich normalerweise irgendwo mitten im Text befindet. Hier könnte man z.B. über vorangehende und nachfolgende Whitespaces (z.B. Leerzeichen, Tabulatoren) die Zahl auf 5 Stellen einschränken. Statt “\d{5}” also “\s?\d{5}\s?”, womit 6- und mehrstellige Zahlen ausgeschlossen werden.


Verwandte Themen

  • Keine Stichwörter