Regular Expressions Problem mit Space

exitboy

Erfahrenes Mitglied
hi,

ich moechte Sicherstellen, dass jemand einen Namen eingibt, ggf. noch einen Nachnamen.

Gedacht habe ich mir das wie folgt:
Code:
(eregi('[a-zA-Z]+|[a-z-A-Z] ?[a-zA-Z]+)',$Vorname)

Leider funktioniert dies auf einen Vornamen wie "Tom" als auch auf einen kompletten Namen wie "Tom Vogel" nicht.

Warum nicht? das "?" nutzt doch den Leerschritt, oder etwa nicht?

So funkzt es:
(^[a-zA-Z]{3,15} [a-zA-Z]{3,15}$|^[a-zA-Z]{3,15}$)
 
Zuletzt bearbeitet:
Einen Namen mit regulären Ausdrücken zu prüfen, ist eigentlich sinnlos. Denn es gibt einfach zu viele Sonderfälle.
 
ne sry, vielleicht haben wir uns missverstanden, es geht mir nicht um den Namensinhalt, eher um dessen Struktur, also das keine Zahlen enthalten sind. Moechte z.B. erkennen wenn jmd. einen Doktor Titel eintraegt als Dr. dann soll er eine Meldung per Ajax am besten bekommen, dass der Dr. Titel woanders eingetragen wird usw ... .

Hab aber jetzt eine fuer mich zufriedenstellende Loesung gefunden, die mir erstmal den Zweck erfuellt:

Code:
^[a-zA-Z]{3,15} [a-zA-Z]{3,15}$|^[a-zA-Z]{3,15}$
 
Was ist mit Doppelnamen (also dem Bindestrich) oder anderen Zeichen außerhalb des lateinischen Alphabets wie den Umlauten, Buchstaben mit Akzenten oder anderen in Namen vorkommenden Zeichen?
 
Zurück