Leerzeichen in String (regex)

ultrakollega

Erfahrenes Mitglied
Hi Leute,

habe folgenden Code mit dem ich eine String überprüfe:

PHP:
if (eregi("^[a-zA-Z]{3,50}$",$string)==1) {
   return true;
} else {
   return false;
}

Momentan ist es so das man nur Buchstaben eingeben kann.

Ich möchte aber auch zwischen den Wörtern entweder 1
Leerzeichen oder 1 ( - ) "Leerzeichen Binderstrich Leerzeichen"
erlauben, am Schluss sollte auch eine Zahl erlaubt sein, soll
aber nicht zwingend sein.

Hab's schon mit \s probiert, aber ich komm irgendwie nicht weiter ...

Danke für Eure Hilfe.

mfg
 
Mit einem Ausdruck alleine wird das kaum zu berwerkstelligen sein:(
Mit zweien könnte es z.B. so laufen:
Code:
return (preg_match("/^[a-z]+(\s|\s-\s|)[a-z]+\d?$/i",$string) && preg_match("/^.[3,50]$/",$string));
....also Prüfung auf erlaubte Zeichen und erlaubte Zeichenanzahl separat.
 
Zurück