Ankündigung

Einklappen
Keine Ankündigung bisher.

Änderung Email Validierungs Regex haut nicht hin

Einklappen

Neue Werbung 2019

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

  • Änderung Email Validierungs Regex haut nicht hin

    Hi,

    derzeit schaut meine Funktion zur Überprüfung von Emails so aus:

    PHP-Code:
    function check_email($email)

       if (!
    preg_match("/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/"$email))
       { 
          return 
    false;   
       } 
       else 
       { 
          return 
    true;      
       } 


    Da dieser Regex für Emails mit deutschen Umlauten nicht funktioniert, habe ich den wie folgt umgebaut:

    PHP-Code:
    function check_email($email)

       if (!
    preg_match("/^[_a-zA-Z0-9-äöüÄÖÜ]+(\.[_a-zA-Z0-9-äöüÄÖÜ]+)*@[a-zA-Z0-9-äöüÄÖÜ]+(\.[a-zA-Z0-9-äöüÄÖÜ]+)*(\.[a-zA-Z]{2,4})$/"$email))
       { 
          return 
    false;   
       } 
       else 
       { 
          return 
    true;      
       } 

    Leider funktioniert der Regex so nicht mehr und ich weiß nicht wieso. Kann mir da jemand helfen?

    Smilla


  • #2
    es gibt e-mail adressen mit umlauten?? ich dachte da wird immer oe,ae,ue eingesetzt
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      Naja, es gibt doch inzwischen Umlaut Domains, also muss es doch auch Umlaut Emails geben?

      Kommentar


      • #4
        Zitat von smilla Beitrag anzeigen
        Kann mir da jemand helfen?
        Bin leider auch kein Regex-Experte, aber scheinbar ist das Thema noch viel komplexer: internationalized domain names email validation Regex
        Je grösser der Dachschaden, desto schöner der Ausblick zum Himmel. - [WIKI]Karlheinz Deschner[/WIKI]

        Kommentar


        • #5
          ich habe heir mal was gefunden

          PHP: Validation - Manual

          versuch das ganze mal mit umlaut emails und sag mal ob das funktioniert
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            Da es sinnlos ist einen Email 100% zuüberprüfen reicht ein relativ simpler Regex

            [^@]+@[^@.]+\.[^.]{2,4}

            Kommentar


            • #7
              Das man nie sicher sein kann ist klar.

              Eigentlich interessiert mich ja auch mit, wieso mein Regex nicht funktioniert, ich will ja auch was dazu lernen

              Kommentar


              • #8
                Der Ausdruck funktioniert für E-Mail-Adressen mit Umlauten (zumindest nach meinem Kurztest).

                Wenn er das bei dir nicht tut, dann vermutlich deshalb, weil deine Umlaute im Script nicht das gleiche sind, wie in den Daten, die du überprüfst - sprich, es wird sich vermutlich um ein Problem mit unterschiedlichen Zeichenkodierungen handeln.

                Kommentar


                • #9
                  Also, die Seite arbeitet komplett in UTF8, das dokument ist aber Latin 1. Dann wird es wohl daran liegen? Ich versuche dann mal ein teil des Regex mit utf8_encode zusammenzusetzen

                  Kommentar


                  • #10
                    Zitat von smilla Beitrag anzeigen
                    Also, die Seite arbeitet komplett in UTF8, das dokument ist aber Latin 1.
                    Abgesehen von der Frage, was davon jetzt was sein soll - warum?

                    Kommentar

                    Lädt...
                    X