Archiv verlassen und diese Seite im Standarddesign anzeigen : [REGEX] nach Email (ungefähr) überprüfen
Lengen1971 23-03-2007, 13:23 Hallo Leuz,
nach einer Stunde hin und her testen geb ich jetzt auf, kann mir einer sagen, warum jede Email als falsch durchgeht?
$email=$_POST['eMail'];
echo $email; //gibt adresse korrekt aus
if (preg_match("/^[\\w\\-\\.]+@[\\w\\-\\.]+\.[^\\d\\.]{2,3}$/",$email,$matches)==0)
{
$error.="Ihre E-Mail-Adresse scheint falsch zu sein!";
$error_code=2;
}
Die Variable kommt von Flash.
Merci.
Gruß
Michael
jahlives 23-03-2007, 14:19 Ich habe den REgExp mal ausprobiert und bei mir gehen gar die unmöglichsten Emails als true durch z.B. susi@susi.chfsdfsdfs wird als korrekt gematched.
Passe den REgExp mal so an dass du den ersten Punkt escapest. Sonst heisst der nämlich jedes Zeichen und das schliesst Zahlen und Punkte mit ein und den Punkt nach ^\d brauchst du gaz sicher nicht.
/^[\w\-\.]+@[\w\-\.]+\.[^\d]{2,3}$/
Gruss
tobi
MelloPie 23-03-2007, 14:29 [^\d\.]{2,3}
hier darf es keinen . geben und was ist mit den TLD museum info aero oder so???
Lengen1971 23-03-2007, 14:40 Vielen Dank für die schnellen Antworten.
Ich dachte [^\d\.] bedeutet keine Ziffer und kein Punkt. Probier ich gleich aus...
Bis gleich...
Hm, wird nichts gematched:
"/^[\\w\\-\\.]+@[\\w\\-\\.]+\\.[^\\d]{2,4}$/"
Is da noch ein Fehler drin? Kann das mit der POST-Variable zu tun haben?
Ja, das hängt mit der POST-var zusammen. Wenn ich direkt:
$email="test@home.de";
schreibe, dann geht´s. Was kann den an der POST-Var evtl. anders sein?
Gruß
michel
jahlives 23-03-2007, 14:51 Dann liegts wohl an deiner Var. Teste den RegExp mal http://regexp-evaluator.de/evaluator/bc0c418682a1261daa28900fd337de17/#ergebnis
Gruss
tobi
Lengen1971 23-03-2007, 15:06 Yo, danke. praktische Seite. Aber ich keine mein übergebene VAR ja nicht testen, wie soll ich die da reinkriegen? Hmm, sind da irgendwelche unsichtbaren Zeichen mitdran, wenn´s über POST bzw. von Flash kommt?
Gruß
Michel
penizillin 23-03-2007, 15:52 mach doch einfach eine testausgabe.
Lengen1971 23-03-2007, 16:06 Hoi,
yo, hab ich gemacht, wird die Email einwandfrei ausgeben.
Allerdings weiß ich zumindet jetzt, warum´s nicht geht, vom Flash 8 kommt nicht nur der Text auf dem Textfeld, sondern dieser schön verpackt in HTML-Code. Weiß der Geier warum, das war beim MX nicht so. Logisch, dass dann net geht.
Ist also ein Flash-Problem und hier nicht relevant.
Danke für die Hilfe
Gruß
Michael
jahlives 23-03-2007, 16:09 ...vom Flash 8 kommt nicht nur der Text auf dem Textfeld, sondern dieser schön verpackt in HTML-Code
kennst du strip_tags() ?
Gruss
tobi
Lengen1971 23-03-2007, 16:13 Yo, kenn ich. Aber das wird die letzte Instanz werden. Vorher möcht ich wissen, warum sich das Flash 8 so komisch verhält; das ist ja ein Unding.
Danke
Gruß
Michel
jahlives 23-03-2007, 16:22 Wer benutzt denn schon Fläsh ? ;)
tontechniker 23-03-2007, 16:23 kann es sein das du das Ergebnis als XML geliefert bekommst? Ansonsten liegt der Fehler wohl im Flash Code.
Lengen1971 23-03-2007, 16:26 Hm, XML kenn ich nicht. Das Ergebnis ist schon HTML. MIttendrin mal der eingegebene Text. In Flash hab ich nie was anderes gemacht, hab schon etliche Male mit PHP kommuniziert. Seit kurzem mit Flash 8, da geht´s nicht mehr.
Spaßhalber hab ich die fla runterkopiert nach MX2004, von dort nach MX und schon geht´s. haha. Das ist aber keine Lösung die mich befriedigt.
Gruß
michel
|
|