Kai345: Stringlänge mit ReGex einschränken

Beitrag lesen

[latex]Mae  govannen![/latex]

Zudem ist es nicht möglich, Namen und Adressen (E-Mail und Anschriften) mit Mustern auf Validität im Sinne einer Nutzbarkeit zu prüfen. Selbst syntaktisch korrekte Werte können falsch sein. Es ist vergebliche Liebesmüh, sich da anzustrengen.

Das ist allerdings richtig. Aber Du kannst die Werte soweit prüfen, als das ausversehen vom Anwender eingefügte Zeichen (Verschreiber) abgefangen werden könnten.

Man kann nicht sicher wissen, ob es ein Verschreiber war. Zumindest im lokalen Teil einer Mail-Adresse ist so vieles erlaubt, daß ein Validitäts-Check komplett ausfällt. Im Domain-Teil kann man eigentlich auch nur Zeichen ausschließen, die für Mail-Adressen einen Sonderstatus haben oder Steuerzeichen etc. Insgesamt wird es zu kompliziert, weil die Wahrscheinlichkeit, gültige Adressen zu blocken zu groß wird. Rein theoretisch sollte ein _großzügiger_ Service auch Dinge wie

"Max und Maxine Mustermann" max+maxine@example.org

durchlassen wollen.

In Verbindung mit PHP (checkdnsrr()) bekommst du aber die Möglichkeit wenigstens zu prüfen, ob eine Domain existiert

Nein. Es kann sein, daß die Domain oder der DNS-Service genau zu dem Zeitpunkt ausgefallen ist | im Wartunsgsmodus ist, in dem der Nutzer ein Formular abschickt -> eine komplett valide Mail-Adresse wird abgelehnt und der Nutzer weiß üblicherweise nicht weshalb und vor allem nicht, was er nun tun soll, denn er _hat_ ja seine gültige Adresse eingegeben.

Problem ist lösbar, wenn du ab dem @ trennst und prüfst ob links davon der String nicht über 64 Zeichen kommt und der rechte nicht über seine 190(?).

alternativ auch durch Auswertung der Rückgabe von [mb_]strpos($email, '@') und Ähnliches.

Stur lächeln und winken, Männer!
Kai

--
I am Pentium of Borg. Division is futile. You will be approximated.
SelfHTML-Forum-Stylesheet
SelfHTML-Forum-Stylesheet