[PHP] RegEx für neue Profilfelder

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Mean
Mitglied
Beiträge: 115
Registriert: 13.03.2008 19:41

[PHP] RegEx für neue Profilfelder

Beitrag von Mean »

Hallo,

ich habe gestern und heute das Forum (Version 2) etwas hinsichtlich der Profileingabefelder angepasst.

Nur würde ich die Felder gerne validieren lassen, habe von RegEx aber Null Ahnung und nach Durchlesen eines Tutorials bekomme ich das irgendwie immer noch nicht hin, da einige Schlupflöcher da sind...

Kann mir vielleicht jemand helfen, und zwar würde ich gerne folgende Felder per RegEx validieren lassen:

PLZ: 5 Zahlen von 0 - 9 erlaubt
Ort: Buchstaben und - erlaubt (keine Leerzeichen)
Telefonnr: erst 3 bis 5 Zahlen, dann / und dann mind. 4 Zahlen
Handynr: erst 4 Zahlen, dann / und dann mind. 6 Zahlen
Straße: Erstes Zeichen = Großbuchstabe, dann Buchstaben, am Ende soll dann str. oder -Str. stehen, erlaubte Sonderzeichen: -
Hausnr: mind. eine bis max. drei Zahlen, ggf. noch 1 Buchstabe dahinter (gibt ja z.B. auch 124a als Hausnr)


Kann mir da bitte jemand helfen? Wäre echt super!

Vielen Dank und Grüße,

Felix
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Auf die Schnelle (ungetestet):
  • PLZ: [0-9]{5}
  • Ort: [-A-ZÄÖÜa-zäöüß]+
  • Telefonnummer: [0-9]{3,5}/[0-9]{4,}
  • Straße: [A-ZAÄÜ][a-zäöüß-](?:str\.|-Str\.)
  • Hausnummer: [0-9]{1,3}[a-z]?
Handy darfst du selber machen, damit du auch etwas dabei lernst. :wink:

Bei der Straße würde ich an deiner Stelle ein bisschen "gnädiger" mit den erlaubten Zeichen sein. Zum Beispiel gibt es ja auch Straßennamen, die aus mehreren Worten bestehen (Unterer Höhenweg, An der Lehmgrube etc.). Bei der Telefonnummer würde ich minimal 3 anstatt 4 Zahlen nehmen, solche Nummern gibt es nämlich auch.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Einen Telefon Nummer fängt immer mit 0 an (Vorwahl)

Des weiteren sollte man die Nationale Vorwahl +49 oder 0049 berücksichtigen
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Code: Alles auswählen

(?:(?:+|00)[0-9]{2}|0)[0-9]{2,5}/[0-9]{3,}
und wieder ungetestet...
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Mean
Mitglied
Beiträge: 115
Registriert: 13.03.2008 19:41

Beitrag von Mean »

Vielen Dank euch beiden!

Grüße,

Felix
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Beitrag von Sanchez17 »

Hi,

auch wenn das nicht im Sinne des Thread Erstellers war, würde ich gern mal eine Frage einbinden...

Mit RegEx komm ich selber leider noch nicht klar. Daher würde ich mich freuen, wenn jmd kurz erklären könnte, wieso wann welches Zeichen benutzt wurde:
[A-ZAÄÜ][a-zäöüß-](?:str\.|-Str\.)
[A-ZAÄÜ][a-zäöüß-] <-- das Kann ich mir noch Erklären.
(?:str\.|-Str\.) <-- da versteh ich beispielweise kein Wort.

Wäre jemand so freundlich? :-)

Gruß
Michel
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

?: - Optional
| - Entweder Oder
() - Gruppenbildung
\ - Escape Zeichen (-> Das nächste Zeichen als Zeichen und nicht als Befehl interpretieren, in dem Fall den Punkt der eigentlich für jedes Zeichen stehen könnte als echten Punkt interpretieren.)
Also Optional kann an der Stelle noch str. oder -Str. stehen. Ich würde da übrigens auch Leerzeichen erlauben, es soll ja auch so Adressen wie "Alte Kölner Straße" geben...

Statt ?: kann man auch ? hinter die Klammer setzen, das ergibt in dem Fall das gleiche.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Beitrag von Sanchez17 »

ahh, vielen Dank gn#36. :wink:

Ansich doch einfacher, als es am Anfang aussieht.
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ich kenne das Problem. Als ich die Dinger das erste Mal gesehen habe waren das auch Böhmische Dörfer....
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

gn#36 hat geschrieben:?: - Optional
[...]
Statt ?: kann man auch ? hinter die Klammer setzen, das ergibt in dem Fall das gleiche.
Kleine Korrektur: ein ?: am Anfang der Klammer bewirkt, dass der Inhalt der Klammer nicht extra festgehalten wird, wohingegen ein einfaches ? nach einer Klammer den Inhalt der Klammer optional macht.

Btw: Am Anfang wird sich wohl jeder mit Regulären Ausdrücken schwer tun, ist ja auch kein Wunder bei den kryptischen Zeichenfolgen, die da immer zustande kommen. Auch werden 99% aller Programmierer (zu denen gehöre ich *g*) nur bis zum Grundwissen von Regulären Ausdrücken vordringen, da man das meiste einfach zu selten oder gar nicht benötigt.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „Coding & Technik“