Arx: Wo liegt der Fehler?

Beitrag lesen

Γειά σου, Daniel!

if (!ereg("^.+@.+\\..+$", $email))

Das raff ich irgendwie nicht :(

das ^ steht für 1 bis beliebig viele zeichen.
der . sagt es geht noch weiter.
das +@ bedeutet dann kommt ein "@".
der . sagt es geht noch weiter.
das +\. sagt danach kommt ein ".".
der . sagt es geht noch weiter.
das +$ sagt es kommt noch was.

irgendwie so.

Nein, gänzlich nicht.

^ -> Die gesuchte Zeichenfolge muss direkt zu Beginn der zu durchsuchenden Zeichenfolge stehen.
. -> Ein beliebiges Zeichen (nicht zwei oder drei).

  • -> Ein oder beliebig viele Vorkommen des vorausstehenden Zeichens, d.h. .+ bedeutet: eine beliebige Zeichenfolge mit mindestens einem Zeichen.
    @ -> Das ganz normale @ eben. ;-)
    \ -> Sucht nach einem Backslash.
    $ -> Die gesuchte Zeichenfolge muss am Ende der zu durchsuchenden Zeichenfolge stehen.

also irgendein string indem ein "@" vorkommt und danach ein ".".

Richtiger wäre folgender Ausdruck:

/^.+@.+..+$/

Eine wahrlich vollständige RegExp für Mail-Adressen findet sich auf http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html (Danke, Stefan ;-) ).

Пока!
Sven aus Bonn

--
Do it yourSELF! ;-)
Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
Athen rückt in Sichtweite. ;-)