[REGEX] nach Email (ungefähr) überprüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [REGEX] nach Email (ungefähr) überprüfen

    Hallo Leuz,

    nach einer Stunde hin und her testen geb ich jetzt auf, kann mir einer sagen, warum jede Email als falsch durchgeht?
    PHP-Code:
    $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

  • #2
    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.
    Code:
    /^[\w\-\.]+@[\w\-\.]+\.[^\d]{2,3}$/
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      [^\d\.]{2,3}
      hier darf es keinen . geben und was ist mit den TLD museum info aero oder so???
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        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:
        PHP-Code:
        "/^[\\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:
        PHP-Code:
        $email="test@home.de"
        schreibe, dann geht´s. Was kann den an der POST-Var evtl. anders sein?

        Gruß
        michel

        Zuletzt geändert von Lengen1971; 23.03.2007, 13:52.

        Kommentar


        • #5
          Dann liegts wohl an deiner Var. Teste den RegExp mal http://regexp-evaluator.de/evaluator...de17/#ergebnis

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            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

            Kommentar


            • #7
              mach doch einfach eine testausgabe.

              Kommentar


              • #8
                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

                Kommentar


                • #9
                  ...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
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    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

                    Kommentar


                    • #11
                      OffTopic:

                      Wer benutzt denn schon Fläsh ?

                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        kann es sein das du das Ergebnis als XML geliefert bekommst? Ansonsten liegt der Fehler wohl im Flash Code.
                        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                        Kommentar


                        • #13
                          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

                          Kommentar

                          Lädt...
                          X