![]() |
weder mit noch ohne eingeklammerten * funzt es :(
folgende varianten funzen NICHT: PHP-Code:
|
bin kein regex-experte, aber steht ein . nicht für ein beliebiges zeichen? imho müsste man den escapen -> \. oder ggf. \\.
außerdem gibt es in der tld (com, net, org) weder zahlen noch _ oder -. solltest beim letzten austruck das :alpha: überdenken und - und _ weglassen. |
ich nochmal. wie gesagt, bin nicht sicher, aber geht es vielleicht irgendwie so?:
^(A-Z|a-z|0-9|\-|_|\.)*@(A-Z|a-z|0-9|\-|\.)*\.(A-Z|a-z)(A-Z|a-z)(A-Z|a-z)?(A-Z|a-z)?$ |
Zitat:
|
du könntest alle möglichen adresse in ein dokument schreiben und überprüfen ob die eigegebene da auch vorkommt ;D
*renn* |
ad 1) ereg* ist verammt langsam
ad 2) du musst natürlich die anderen Zeichen auch in der Zeichenklasse berücksichtigen, zB: [[:alpha:],._-]* Und [:alnum:] wären alle alphanumerischen Zeichen. Zum Schluß sollte vielleicht noch etwas erwähnt werden: RTFM! ;) ~ |
Ach noch was, gerade entdeckt:
Der Bindestrich sollte in einer Zeichneklasse immer zuerst oder zuletzt stehen, wenn er nicht maskiert wird. ~ |
wegen RTFM: [:alpha:] kommt weder online vor noch in meinem manuall :(
Code:
if(preg_match("^([[:alpha:],._-]*)@([[:alpha:],._-]*)\.([[:alpha:],._-]*)$^", $Mail)) {danke nochmal an alle :) |
Hm - ja, wenn du "@." als E-Mail Adresse ansiehst :)
Verwende / als Begrenzer. Verwende + statt * wenn min. 1 Zeichen erforderlich ist. ~ |
sry aber ich steh schon wieder auf der leitung:
begrenzer? also vor dem . ein / oder wie? btw habs jetzt so: Code:
if(preg_match("^([[:alpha:],._-]+)@([[:alpha:],._-]+)\.([[:alpha:],._-]+)$^", $Mail)) { |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 18:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag