WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 07.04.2004, 00:41   #11
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 38
Beiträge: 3.954

Mein Computer

Standard

weder mit noch ohne eingeklammerten * funzt es
folgende varianten funzen NICHT:
PHP-Code:
if(ereg("^([[[:alpha:]]_-\.]*)@([[[:alpha:]]_-\.]*)\.([[[:alpha:]]_-\.]*)$",$Mail)) {

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

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

if(
ereg("^([[:alpha:]_-\.]*)@([[:alpha:]_-\.]*)\.([[:alpha:]_-\.]*)$",$Mail)) { 
Potassium ist offline   Mit Zitat antworten
Alt 07.04.2004, 01:43   #12
JackLemon
Senior Member
 
Registriert seit: 02.11.2002
Beiträge: 179


Standard

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.
____________________________________
It\'s not a bug... It\'s a feature!

You know, the main advantage of encrypted paella over ordinary paella is that nobody but you knows what you are eating... (Alvaro)
JackLemon ist offline   Mit Zitat antworten
Alt 07.04.2004, 01:51   #13
JackLemon
Senior Member
 
Registriert seit: 02.11.2002
Beiträge: 179


Standard

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)?$
____________________________________
It\'s not a bug... It\'s a feature!

You know, the main advantage of encrypted paella over ordinary paella is that nobody but you knows what you are eating... (Alvaro)
JackLemon ist offline   Mit Zitat antworten
Alt 07.04.2004, 02:39   #14
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 38
Beiträge: 3.954

Mein Computer

Standard

Zitat:
Original geschrieben von JackLemon
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.
die zeichen sind eh escaped aber dieseeinfärbe dingsda vom forum nimmt sie wieder weg......
Potassium ist offline   Mit Zitat antworten
Alt 07.04.2004, 11:42   #15
wcm|Tweety
Senior Member
 
Registriert seit: 14.03.2003
Beiträge: 127


wcm|Tweety eine Nachricht über ICQ schicken wcm|Tweety eine Nachricht über Yahoo! schicken
Standard

du könntest alle möglichen adresse in ein dokument schreiben und überprüfen ob die eigegebene da auch vorkommt ;D
*renn*
wcm|Tweety ist offline   Mit Zitat antworten
Alt 07.04.2004, 11:58   #16
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

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!

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 07.04.2004, 12:02   #17
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Ach noch was, gerade entdeckt:

Der Bindestrich sollte in einer Zeichneklasse immer zuerst oder zuletzt stehen, wenn er nicht maskiert wird.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 07.04.2004, 13:29   #18
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 38
Beiträge: 3.954

Mein Computer

Standard

wegen RTFM: [:alpha:] kommt weder online vor noch in meinem manuall
Code:
if(preg_match("^([[:alpha:],._-]*)@([[:alpha:],._-]*)\.([[:alpha:],._-]*)$^", $Mail)) {
so schauts jetzt aus und es funzt.
danke nochmal an alle
Potassium ist offline   Mit Zitat antworten
Alt 07.04.2004, 14:26   #19
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Hm - ja, wenn du "@." als E-Mail Adresse ansiehst

Verwende / als Begrenzer.
Verwende + statt * wenn min. 1 Zeichen erforderlich ist.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 07.04.2004, 14:35   #20
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 38
Beiträge: 3.954

Mein Computer

Standard

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)) {
Potassium ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


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


Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag