[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.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Oha... Stimmt eigentlich. (?! xy) taucht im Ergebnis ja auch nicht auf...
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
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Ich finde gerade den Artikel nicht wieder, aber das erzwingen von bestimmten Formaten mit Regulären Audrücken ist Blödsinn. Das fängt schon bei der Straße an - es gibt -Straße, -Weg, -Platz, "Am Wald", "Im Feld", "Bergkamp", "Berliner Ring", und so weiter. Bei der Hausnummer gibt es insbesondere in Großstädten und/oder bei Hochhäussern entsprechende ausgefallene Zusätze oder aber Sonderfälle ganz ohne Hausnummer ("Flughafen Tor A", "Messe Eingang West", "Marktplatz"). Bei den Telefonnummern haben manche kleinen Orte 6-stellige Vorwahlen, dafür gibt es Teilnehmer mit nur 3-stelliger Rufnummer, es gibt Auslandsvorwahlen und Nebenstellen, usw. usw.

Sinn machen eigentlich nur folgende Validierungen:
  • Bei vollautomatischer Verwendung einer Telefonnummer (z.B. SMS-Versand): Prüfung auf führende 0 und ausschließlich aus Ziffern bestehend
  • Bei vollautomatischem Druck von Anschreiben: Maximallänge von x Zeichen pro Adresszeile
  • Falls vorhanden: Abgleich der Adresse mit einer Datenbank
Wenn du hingegen bestimmte feste Formate erzwingst, wird es immer Leute geben, die sich dort nicht eintragen können, weil Ihre Adresse beim besten Willen nicht in dein Format passt. Das gilt übrigens nicht nur bei Adressen - generell sollte man in seinen Anwendungen immer damit Rechnen, dass der Benutzer Angaben macht, die nicht in "das bekannte Schema" passen. Andere Beispiele wären:
  • Feste Liste mit Herkunftsländern
  • Bei der Frage nach dem Geburtsjahr nur die letzten 80 Jahre erlauben
  • Bestellformular mit 10 Eingabefeldern und keine Möglichkeit, weitere hinzuzufügen
  • Bei der Frage nach dem Einkommen oder Verkaufspreis auf eine minimale oder maximale Summe beschränken
Sofern du die Daten nicht vollautomatisch an ein System weitergibst, welches aus technischen Gründen nur mit bestimmten Daten arbeiten kann, sollte anstatt einer Ablehnung immer eine Warnung wie "bitte prüfen Sie, ob Sie sich vertippt haben" erfolgen.
KB:knigge
Antworten

Zurück zu „Coding & Technik“