Ergebnis 1 bis 9 von 9

Thema: RegEx in php

  1. #1
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard RegEx in php

    wie kann ich prüfen ob der inhalt der variable
    Code:
    $_POST["email"]
    auf die RegEx
    Code:
    \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
    passt...?

    und was muss ich einbauen um eventuelle fehler im script zu finden?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wenn du nur willst, dass dieser String mit ner Regex überprüfen willst , dann kannste die
    Methode preg_match verwenden


    Ungetestet 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


    }
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    Forum Guru
    Themenstarter
    Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard

    danke werd ich mal testen..

    habs jetzt etwas verkürztauf
    Code:
    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);
    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
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  4. #4
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    die regex stammt übrigens aus Java Schreibweise bei den doppelten Slash müssen glaub ich noch angepasst werden auf einen einfachen Slash.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  5. #5
    Thonixx
    Gast

    Standard

    http://javarea.de/index.php3?opencat...hnipsel&id=531

    obiger Link ist doch das Gesuchte ?

    Und das ist meine Variante:

    Code:
    			if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([a-z0-9-]+\.)+([a-z]{2,4})$/i", $mail)) $mailerr = "error";

  6. #6
    Bandit
    Gast

    Standard

    Ich würde dir eher empfehlen: http://pear.php.net/package/Mail

  7. #7
    Forum Guru
    Themenstarter
    Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard

    danke für all eure antworten..

    Code:
    if(!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 )
    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*
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  8. #8
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    ich habe vor einiger zeit einen code bei selfhtml gefunden und daraus ein unterprogramm gemacht.
    Is glaub ich genauer als selbst geschriebene.

    Code:
      function 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
    Code:
    if(check_email($_POST['email'))
    Something big is coming. And there will be pirates and ninjas and unicorns...

  9. #9
    Bandit
    Gast

    Standard

    Zitat Zitat von synaptic
    so klappt es und ich bin zufrieden )
    So klappt es nicht und du solltest nicht zufrieden sein!

    willi.wacker @ irgendwo.museum

    ist eine gültige email-adresse, die bei dir verschluckt wird. Warum nicht auf ausgereifte funktionen von pear zugreifen???

Ähnliche Themen

  1. [PHP] Kleine RegEx Frage...
    Von ::RMB:: im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 31.07.2007, 00:11
  2. regex
    Von markus88 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 22.03.2007, 12:27
  3. PHP Regex +vars in str
    Von ::RMB:: im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 15.03.2007, 18:40
  4. regex: url verlinken und kürzen
    Von baloo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 03.08.2006, 15:32
  5. regex benötigt
    Von cookie im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 12
    Letzter Beitrag: 29.05.2006, 19:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •