Der Martin: Regulärer Ausdruck für Prüfung von Namen

Beitrag lesen

Hallo,

Bei der Eingabe des Namens möchte ich beispielsweise folgende Varianten als zulässige Eingaben akzeptieren:
Beispiel 1: Tom
Beispiel 2: Hans Meier
Beispiel 3: Hans-Jürgen
Beispiel 4: Hans-Peter Müller
Beispiel 5: Hans Meier-Müller
Beispiel 6: Hans-Peter Meier-Müller

damit ist ja so ziemlich alles erlaubt - ich frage mich fast, warum du überhaupt noch etwas prüfen willst.

-Mindestens drei Buchstaben (Beispiel 1) als Pflichteingabe
-Optional ein Leerzeichen oder Bindestrich, gefolgt von mindestens drei weiteren Buchstaben (Beispiele 2 und 3)
-Optional ein Leerzeichen, gefolgt von mindestens drei weiteren Buchstaben (Beispiel 4)
-Optional ein Leerzeichen oder Bindestrich, gefolgt von mindestens drei weiteren Buchstaben (Beispiel 5)

Oder anders formuliert: Mindestens drei Buchstaben, dann bis zu dreimal die Kombination ([Leerzeichen oder Bindestrich] und nochmal mindestens drei Buchstaben). Bedenke, dass "Buchstaben" mehr umfassen sollte als [a-zäöü].

/[1]{3,}(([ |-][a-züöä]{3,}){0,}([a-züöä]{3,}){0,}([a-züöä]{3,}){0,})$/i

Wozu die scheinbar wahllos gesetzten runden Klammern? Willst du Teile des gefundenen Ausdrucks weiterverwenden? Warum dann nicht den ersten Teil, der idR den ersten Vornamen enthält?

Ist mein Ausdruck damit richtig?

Nein. Beispielsweise würden Namen wie "René Samaire", "Rainer Weiß" oder "Richard O'Toole" gnadenlos abgewiesen.

Warum wird beim Bindestrich ein neuer Treffer abgegrenzt?

Weil du es so vorgibst.
Ehrlich: Namen können so unterschiedlich sein, vor allem bei der heutigen ethnischen Mischung unserer Gesellschaft. Da überhaupt noch eine Prüfung anzusetzen, erscheint mir nicht sinnvoll.

Ciao,
 Martin

--
Nein, es ist nicht wahr, dass bei der Post Beamte schneller befördert werden als Pakete.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(

  1. a-züöä ↩︎