RegExp
mrky
- programmiertechnik
0 Gunnar Bittersmann0 suit0 suit1 Gunnar Bittersmann0 suit
Hallo Leute,
Ich benötige eine RegExp die die Reisepassnummer beschreibt.
Eigenschaften:
Ich bin bis jetzt soweit gekommen ([a-zA-Z][^0a-zA-ZäöüÄÖÜ_ ])[0-9]{6}
Wurde mich sehr über eine Lösung freuen.
LG mrky
@@mrky:
nuqneH
- das erste Zeichen ist eine Buchstabe
- danach folgen 7 Ziffern
Wenn du genau angibst, was zulässig ist, dann bist du fertig.
- keine Leerzeichen
- keine Umlaute und keine Buchstaben a-z
- keine Sonderzeichen !?$§" usw.
Dass das nicht vorkommen darf, ergibt sich bereits aus der Angabe, was vorkommen darf.
Qapla'
Wurde mich sehr über eine Lösung freuen.
Zawiniski würde sich darüber freuen, wenn du Stringfunktionen verwendest:
Ist das erste Zeichen ein Buchstabe und ist Zeichen 2 bis 8 eine Dezimalzahl?
Unter PHP ist das mit substr(), ctype_alpha() und ctype_digit() wohl ohne Probleme möglich.
Aber wenn du unbedingt einen regulären Ausdruck willst
[1]\d{7}$
A bis Z (groß oder klein) gefolgt von 7 exakt Ziffern.
A-Za-z ↩︎
Unter PHP ist das mit substr(), ctype_alpha() und ctype_digit() wohl ohne Probleme möglich.
Selbstverständlich ist das unter ziemlich jeder C-kompatiblen Sprache möglich bzw. unter jeder Sprache, die auf ctype.h-Bibliothek zurückgreift (wie eben auch PHP in diesem Fall).
@@suit:
nuqneH
A bis Z (groß oder klein)
Ich glaub nicht, dass in einer Reisepassnummer kleine Buchstaben vorkommen. Also eher: [1]\d{7}$
Nutzereingaben kann man case-insensitiv prüfen oder gleich alle Buchstaben in Großbuchstaben umgewandeln.
Qapla'
A-Z ↩︎
Ich glaub nicht, dass in einer Reisepassnummer kleine Buchstaben vorkommen. Also eher: [1]\d{7}$
Ja das ist richtig.
Nutzereingaben kann man case-insensitiv prüfen oder gleich alle Buchstaben in Großbuchstaben umgewandeln.
Ich ging davon aus, dass hier Nutzereingaben geprüft werden ;) - hinten werden aber vermutlich nicht nur Ziffern sondern auch große O vorkommen (es gibt sicher genug Leute, die kennen den "Trick" mit dem durchstreichen der Null nicht). Wenn wir schon bei Nutzereingaben sind, sollte geklärt werden, was hier ggf. automatisch fehlerkorrigiert wird.
bei der IBAN-Eingabe z.B. werden alle Leerzeichen entfernt, da diese nur in Papierform eingefügt werden. Als syntaktisch falsch dürfen sie aber bei einer Überprüfung nicht gewertet werden, weil es durchaus Leute gibt, die das so eintippen.
A-Z ↩︎