
RegEx in php
-
-
Wenn du nur willst, dass dieser String mit ner Regex überprüfen willst , dann kannste die
Methode preg_match verwendenUngetestet und aus dem Stand:
if($_POST['email'] != ""){
// das ^ [... ] $ in der Regex heißt dann vom Anfang bis zum Ende des String
preg_match("^([\\w]+)(([-\\.][\\w]+)?)*@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$",$_POST['email'] ,$treffer);// Email korrekt
if($treffer > 0){
// korrekter inhalt
} else // ansonsten nicht}
-
danke werd ich mal testen..
habs jetzt etwas verkürztauf
Codepreg_match("^([\\w]+)(([-\\.][\\w]+)?)*@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$",$_POST["email"] ,$treffer); if($treffer==0){ $faults['email'] = "Please enter your email."; }
$faults is nen array in das ich die ganzen fehlermeldungen reinkritzel, um se dann am ende auszugeben
-
die regex stammt übrigens aus Java Schreibweise bei den doppelten Slash müssen glaub ich noch angepasst werden auf einen einfachen Slash.
-
http://javarea.de/index.php3?ope…chnipsel&id=531
obiger Link ist doch das Gesuchte ?
Und das ist meine Variante:
-
Ich würde dir eher empfehlen: http://pear.php.net/package/Mail
-
danke für all eure antworten..
Codeif(!preg_match('#^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$#i', $_POST["email"])){ $faults['email'] = "Please correct your e-mail address."; }
so klappt es und ich bin zufrieden :o)
das captcha läuft die alten funktionen der ollen website sind optisch gleich.
also look and feel passt au...
prob gelöst und ich hab echt spass gefunden an php
*achtung ducken.. ironie-attacke* -
ich habe vor einiger zeit einen code bei selfhtml gefunden und daraus ein unterprogramm gemacht.
Is glaub ich genauer als selbst geschriebene.Code
Alles anzeigenfunction check_email($email) { $nonascii = "\x80-\xff"; $nqtext = "[^\\\\$nonascii\015\012\"]"; $qchar = "\\\\[^$nonascii]"; $protocol = '(?:mailto:)'; $normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*'; $quotedstring = "\"(?:$nqtext|$qchar)+\""; $user_part = "(?:$normuser|$quotedstring)"; $dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.'; $dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*'; $dom_tldpart = '[a-zA-Z]{2,5}'; $domain_part = "$dom_subpart$dom_mainpart$dom_tldpart"; $regex = "$protocol?$user_part\@$domain_part"; return preg_match("/^$regex$/",$email); }
da reicht jetzt nur
-