WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   mail adresse mit neuen domäns prüfen (http://www.wcm.at/forum/showthread.php?t=130632)

Potassium 06.04.2004 21:42

mail adresse mit neuen domäns prüfen
 
ich möchte eingegeben mailadresse auf richtigkeit überprüfen und da ist mir eingefallen das es mit einem "simplen"
PHP-Code:

if(ereg("^([A-Za-z_\.0-9]*)@([A-Za-z0-9_]*)\.([A-Za-z0-9\.]*)$",$Mail)) { 

nicht mehr getan ist weil es ja auch umlautdomains gibt.
nun meine frage: wie würde eine aktulle überprüfung aussehen?

btw: was macht ^ am anfang und $ am ende und * in der mitte????

Who-T 06.04.2004 22:27

frag mich nicht wie du umlaute reinbringst aber vielleicht kann regex ja

[A-Za-z_.0-9üöäÜÖÄ]
vielleicht geht das ja


anyway:

^ heißt anfang des strings
$ ende des strings
^[A-Z]$ wäre jeder einzelne großbuchstabe

* bestimmt die häufigkeit (0 bis viele) des vorherigen ausdrucks

jak 06.04.2004 22:51

Du könntest ja eine Kopie der Mailadresse in einer Hilfsvariable speichern, in der daß ä durch ae ersetzen und wenn die überprüfung ok ist die originale Adresse verwenden.

Oder du löst die Domain in ihren Punycode auf (frag mich nicht wie das geht...).

Jak

käptn 06.04.2004 23:06

1.) ereg* ist böse! Man nehme preg*
2.) Man nehme außerdem [[:alpha:]]

~

Potassium 06.04.2004 23:49

Zitat:

Original geschrieben von käptn
1.) ereg* ist böse! Man nehme preg*
2.) Man nehme außerdem [[:alpha:]]

~

ad 1 begründung? und welches von denen? preg_grep nehme ich an oder?
ad2: WTF? PHP hilfe kennt das ned. codebeispiel :D *bittebitte*

Who-T 07.04.2004 00:11

[[:alpha:]] sind alle alphanumerischen zeichen -> [A-Za-z0-9]

Potassium 07.04.2004 00:17

ok nun hab ichs so:
PHP-Code:

if(ereg("^([[:alpha:]]_-\\.*)@([[:alpha:]]_-\\.*)\.([[:alpha:]]_-\\.*)$",$Mail)) { 

sind bei alpha die umlaute auch schon dabei?

Who-T 07.04.2004 00:23

wieso probierst du es eigentlich net aus?
wenn du eh schon den regex hast?

Potassium 07.04.2004 00:27

Zitat:

Original geschrieben von Who-T
wieso probierst du es eigentlich net aus?
wenn du eh schon den regex hast?

regex?

edit: ajo das obrige funzt ned :(
er erkennt jeder mailadresse als falsch. :heul:

Who-T 07.04.2004 00:35

regex = regular expression


bei dem obigen ist ein fehler in der klammerung

du musst die _/. usw mitklammern
probier mal [[[:alpha:]]-_\.*]


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag