preg_match

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

  • preg_match

    Hallo Leute!
    Eine Standard-Funktion zum Checken von E-Mails gibt bei
    E-Mails mit - (Bindestrichen) false zurück.

    Viele E-Mails haben aber Bindestriche im Namen.

    Die Funktion:
    function check_email($email) {
    if (preg_match ("/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/", $email) || !preg_match ("/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/", $email)) {
    $mail_ok = false;
    } else {
    $mail_ok = true;
    }

    Reicht es, den Bindestrich zu entfernen, also die
    Textstelle +\@(\[?)[a-zA-Z0-9\-\.]+
    so zu modifizieren +\@(\[?)[a-zA-Z0-9.]+ ?

    Bin PHP-Anfänger, danke für eure Hilfe!

    Rana

  • #2
    Ja, aber der backslash maskiert die Sonderzeichen, daher nur \- entfernen und nicht \-\ wie du gepostet hast, sonst bekommst du 'ne Fehlermeldung wegen unmaskierten Punkt.

    Kommentar

    Lädt...
    X