Ungültige E-Mail-Adresse mit preg_match [Duplikat]

7

Ich habe den folgenden Code verwendet, um sicherzustellen, dass die bei der Anmeldung angegebenen E-Mail-Adressen gültig sind.

%Vor%

Ich habe eine Standard-E-Mail-Adresse wie

eingegeben
  

[email protected]

und es wird als ungültig angezeigt.

Kann mir jemand helfen, warum das passiert?

    
sark9012 23.06.2011, 11:46
quelle

4 Antworten

16

Warum nicht einfach filter_var

verwenden %Vor%

BEARBEITEN

%Vor%     
Shakti Singh 23.06.2011, 11:54
quelle
6

Jetzt kann ich Sie eine Frage stellen? Was machen diese Räume in Ihrem regulären Ausdruck? : -)

Ich bin ziemlich sicher, dass Leerzeichen in E-Mail-Adressen nicht wirklich gültig sind. Und selbst wenn sie es wären, wären sie nicht in bestimmten Positionen relativ zu den Trennzeichen (wie unmittelbar vor und nach dem Zeichen @ ) erforderlich.

Obwohl ich generell der Verwendung von regulären Ausdrücken für E-Mail-Adressen nicht zustimme (senden Sie einfach eine E-Mail mit einem Bestätigungslink - das löst Ihr Problem und dann einige a ), sollten Sie zumindest das Recht nutzen regulärer Ausdruck, wenn Sie dies tun müssen

a Es gibt eine ungezählte Anzahl von absolut gültigen E-Mail-Adressen, die keinen tatsächlichen Account haben.

    
paxdiablo 23.06.2011 11:49
quelle
2

Wenn Sie regex für das Abgleichen von E-Mails verwenden möchten, werden folgende "sinnvolle" Adressen gefunden.

%Vor%

Es ist ziemlich ausführlich, aber wenn Sie nur wollen, wie ich sagte "vernünftige" Adressen zu übergeben - es macht den Job.

bleibt bei einer Adresse wie "example @ somename.irgendwo .com" hängen, da nach dem @ -Symbol nach einem Punkt gesucht wird, der nur aus einer Länge von 2-6 Zeichen besteht.

"Beispiel @ somename-somewhere .com" würde jedoch passen.

Ich empfehle nicht, eine einzige Regex-Lösung für den Job zu verwenden, es sei denn, wie in meinem Fall, möchten Sie nur "sinnvolle" Adressen zulassen.

Es gibt einen ziemlich guten Artikel, der die "korrekte" Bestätigung von E-Mail-Adressen hier behandelt: Ссылка

    
Jason Rogers 23.06.2011 12:49
quelle
-1

Mit den neuen domeless-Adressen, die geplant sind, erscheint die Lösung von paxdiablo noch besser

    
Marc Towler 23.06.2011 11:56
quelle

Tags und Links