phpbar.de logo

Mailinglisten-Archive

[php] Ueberpruefung einer Email Adresse

[php] Ueberpruefung einer Email Adresse

Guido Haeger GH-lists_(at)_ecora.de
Fri, 18 Aug 2000 13:53:28 +0200


Bernd Schulz schrieb

> so könnte es aussehen
>
>  if (!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' .
>              '_(at)_' .
>              '([-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.)+' .
>              '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))
>   {
>
>       echo "Das ist keine E-Mail Adresse.";
>   }

Sorry: Der "perfekte" reguläre Ausdruck zur Validierung der Syntax einer
eMail-Adresse wäre zwar elendig lang, die obige Konstruktion ist aber so
ziemlich das sinnloseste, was ich bisher dazu gesehen habe. Da kannst Du
(wie die meisten Websites) gleich nur prüfen, ob ein _(at)_ und ein Punkt mit
jeweils was davor und dahinter in der Adresse vorkommt und Dir den
langen Ausdruck sparen. Mit obigem Ausdruck wären z.B. auch ~_(at)_~.~ ,
{_(at)_}.- und gh_(at)_127.0.0.1.1.4.78 valid.

Da wir das Thema hier schon x-mal hatten, empfiehlt sich ein Blick ins
Archiv.

Weiterhin sollte man preg*-Funktionen (PCRE) statt ereg* (POSIX)
benutzen, da diese deutlich schneller und leistungsfähiger als die alten
ereg-Funktionen sind.

Lies bitte bei Gelegenheit learn.to/quote

Guido Haeger




php::bar PHP Wiki   -   Listenarchive