Reguläre Ausdrücke (RegEx)

  • Themenstarter Themenstarter ByeBye 242513
  • Beginndatum Beginndatum
B

ByeBye 242513

Hallo Community,

könnte mir bitte jemand folgende Reguläre Ausdrücke für PHP preg_match erstellen, wäre echt super! Komm mit den Tutorials (Link 1 | Link 2) einfach nicht klar..

Variante A:
Erlaubt: Buchstaben, Zahlen, Leerzeichen, Bindestrich.
Wobei zuerst ein Buchstabe geschrieben werden muss.

Variante B:
Erlaubt: Buchstaben + Umlaute, Zahlen, Leerzeichen, Bindestrich, Unterstrich, Punkt (max. 1 Punkt).
Wobei zuerst ein Buchstabe geschrieben werden muss.

Variante C:
Erlaubt: Buchstaben + Umlaute, Leerzeichen, Bindestrich.
Wobei zuerst ein Buchstabe geschrieben werden muss.

Variante D:
Struktur: (Zahlen (5 Zeichen)) + (Leerzeichen) + (Buchstaben, Umlaute, Leerzeichen, Bindestrich, Punkt (max. 1 Punkt))

Vielen Dank! :)
 
Nein keine Sorge :D Das benötige ich um Eingaben in Formularen zu überprüfen. Darunter z. B. Namen oder Straßen + PLZ. Und leider sind Reguläre Ausdrücke wie Böhmische Dörfer für mich..
 
Alles ungestestet - es gibt sicher auch noch schönere Lösungen

Variante A:
Erlaubt: Buchstaben, Zahlen, Leerzeichen, Bindestrich.
Wobei zuerst ein Buchstabe geschrieben werden muss.

Code:
^[[:alpha:]][[:alnum:] -]*$

Variante B:
Erlaubt: Buchstaben + Umlaute, Zahlen, Leerzeichen, Bindestrich, Unterstrich, Punkt (max. 1 Punkt).
Wobei zuerst ein Buchstabe geschrieben werden muss.

Code:
^[[:alpha:]][[:alnum:] -_öäüÖÄÜ]*\.[[:alnum:] -_öäüÖÄÜ]*$

Variante C:
Erlaubt: Buchstaben + Umlaute, Leerzeichen, Bindestrich.
Wobei zuerst ein Buchstabe geschrieben werden muss.

Code:
^[[:alpha:]][[:alnum:] -öäüÖÄÜ]*$


Variante D:
Struktur: (Zahlen (5 Zeichen)) + (Leerzeichen) + (Buchstaben, Umlaute, Leerzeichen, Bindestrich, Punkt (max. 1 Punkt))
Code:
^[[:digit:]]{5} [[:alnum:] -öäüÖÄÜ]*\.[[:alnum:] -öäüÖÄÜ]*$
 
Vielen Dank ich schau mir das gleich mal an und gebe eine Rückmeldung!
 
Funktioniert jetzt alles schon ganz prima. Danke auch an timestamp.

Namensprüfung z. B. so:
Code:
#^[A-Z]+[A-Za-z. ]+$#

Aber leider funktionieren Umlaute nicht:
Code:
#^[A-Z]+[A-Za-zöäüÖÄÜß. ]+$#

Woran liegt das?
 
Wie stehen denn die Umlaute im String?
Welchem Charset benutzt der String?
In welcher Funktion nutzt Du den RegEx?
 
Code:
$string = "Herbert Äppel"
preg_match("#^[A-Z]+[A-Za-zöäüÖÄÜß. ]$#", $string)
 
Das beantwortet zwar nur eine meiner Fragen (die nach der Funktion), aber auch der RegEx dort ist falsch.
PHP:
preg_match("#^[A-Z]+[A-Za-zöäüÖÄÜß. ]+$#", $string);
//-----------------------------------^
 
Zurück