Ich bin neu in jQuery und habe mich gefragt, wie ich damit E-Mail-Adressen überprüfen kann.
jquery
validation
email
DuH
quelle
quelle
Antworten:
Sie können dafür normales altes Javascript verwenden:
quelle
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
,var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
um die neueren TLDs wie .museum usw. zu unterstützenjQuery-Funktion zum Überprüfen von E-Mails
Ich mag es wirklich nicht, Plugins zu verwenden, besonders wenn mein Formular nur ein Feld enthält, das validiert werden muss. Ich benutze diese Funktion und rufe sie auf, wenn ich ein E-Mail-Formularfeld validieren muss.
und jetzt dies zu nutzen
Prost!
quelle
emailReg.test($email);
emailReg.text("")
true
. Ich würde einfach die Funktion bis auf die Deklaration der emailReg var dann diese:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
zuvar emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
Ich würde das jQuery-Validierungs-Plugin verwenden aus mehreren Gründen verwenden.
Du hast bestätigt, ok großartig, was nun? Sie müssen den Fehler anzeigen, ihn löschen, wenn er gültig ist, und anzeigen, wie viele Fehler insgesamt möglicherweise auftreten. Es gibt viele Dinge, die es für Sie erledigen kann, ohne das Rad neu erfinden zu müssen.
Ein weiterer großer Vorteil ist, dass es auf einem CDN gehostet wird. Die aktuelle Version zum Zeitpunkt dieser Antwort finden Sie hier: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Dies bedeutet schnellere Ladezeiten für den Client.
quelle
Schauen Sie sich http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ an . Es ist ein schönes jQuery-Plugin, mit dem ein leistungsstarkes Validierungssystem für Formulare erstellt werden kann. Es gibt einige nützliche Proben
hier. Die Validierung von E-Mail-Feldern in Form sieht also folgendermaßen aus:Weitere Informationen und Beispiele finden Sie in der Dokumentation zur E-Mail-Methode .
quelle
x@x
(das ist komisch) es muss[email protected]
Wie kann ich das beheben?$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
quelle
: www.htmldrive.net
Quelle: htmldrive.com
quelle
Ich würde Verimail.js empfehlen , es hat auch ein JQuery-Plugin .
Warum? Verimail unterstützt Folgendes:
Neben der Validierung gibt Ihnen Verimail.js auch Vorschläge. Wenn Sie also eine E-Mail mit der falschen TLD oder Domain eingeben, die einer allgemeinen E-Mail-Domain (hotmail.com, gmail.com usw.) sehr ähnlich ist, kann dies erkannt und eine Korrektur vorgeschlagen werden.
Beispiele:
Und so weiter..
Um es mit jQuery zu verwenden, fügen Sie einfach verimail.jquery.js in Ihre Site ein und führen Sie die folgende Funktion aus:
Das Nachrichtenelement ist ein Element, in dem eine Nachricht angezeigt wird. Dies kann alles sein von "Ihre E-Mail ist ungültig" bis "Meinten Sie ...?".
Wenn Sie ein Formular haben und es so einschränken möchten, dass es nur gesendet werden kann, wenn die E-Mail gültig ist, können Sie den Status mithilfe der Funktion getVerimailStatus wie folgt überprüfen:
Diese Funktion gibt einen ganzzahligen Statuscode gemäß dem Objekt Comfirm.AlphaMail.Verimail.Status zurück. Die allgemeine Faustregel lautet jedoch, dass alle Codes unter 0 Codes sind, die Fehler anzeigen.
quelle
.getVerimailStatus()
nicht numerischen Statuscode zurückgeben, nur einen String - Wert vonsuccess
,error
oder möglicherweisepending
(nicht bestätigte die letzten).Dies wurde von Benutzer Luca Filosofi in dieser Antwort diese Antwort zur Verfügung gestellt
quelle
@
Zeichen mit einem anderen@
Zeichen zu maskieren. Wie@@
sonst, sonst erhalten Sie einen Build-Fehler.Eine sehr einfache Lösung ist die Verwendung der HTML5-Validierung:
http://jsfiddle.net/du676/56/
quelle
Dies führt eine gründlichere Validierung durch, z. B. wird nach aufeinanderfolgenden Punkten im Benutzernamen wie john..doe @ example.com gesucht
Siehe Überprüfen der E-Mail-Adresse mit regulären Ausdrücken in JavaScript .
quelle
Wie bereits erwähnt, können Sie mithilfe eines regulären Ausdrucks überprüfen, ob die E-Mail-Adresse einem Muster entspricht. Aber Sie können immer noch E-Mails haben, die dem Muster entsprechen, aber meine Bounce- oder gefälschten Spam-E-Mails sind immer noch.
Überprüfung mit einem regulären Ausdruck
Überprüfung mit einer echten E-Mail-Validierungs-API
Sie können eine API verwenden, die überprüft, ob die E-Mail-Adresse echt und derzeit aktiv ist.
Weitere Informationen finden Sie unter https://isitarealemail.com oder im Blogbeitrag
quelle
Wenn Sie ein Grundformular haben, geben Sie einfach den Typ der E-Mail-Eingabe ein:
<input type="email" required>
Dies funktioniert für Browser, die HTML5-Attribute verwenden, und dann benötigen Sie nicht einmal JS. Nur die E-Mail-Validierung selbst mit einigen der oben genannten Skripte zu verwenden, wird seitdem nicht viel bewirken:
[email protected] [email protected] [email protected]
etc ... Werden alle als "echte" E-Mails validiert. Sie sollten also besser sicherstellen, dass der Benutzer seine E-Mail-Adresse zweimal eingeben muss, um sicherzustellen, dass er dieselbe eingibt. Es wäre jedoch sehr schwierig, aber sehr interessant zu sehen, ob eine E-Mail-Adresse vorhanden ist Weg. Wenn Sie jedoch nur sicherstellen möchten, dass es sich um eine E-Mail handelt, bleiben Sie bei der HTML5-Eingabe.
FIDDLE BEISPIEL
Dies funktioniert in FireFox und Chrome. Es funktioniert möglicherweise nicht in Internet Explorer ... Aber Internet Explorer ist scheiße. Also dann ist da noch das ...
quelle
Javascript-E-Mail-Validierung in MVC / ASP.NET
Das Problem, auf das ich bei der Verwendung von Fabians Antwort gestoßen bin, ist die Implementierung in einer MVC-Ansicht aufgrund des Razor-
@
Symbols. Sie müssen ein zusätzliches@
Symbol einfügen, um es zu umgehen, wie folgt:@@
Rasiermesser in MVC vermeiden
Ich habe es an keiner anderen Stelle auf dieser Seite gesehen, daher dachte ich, es könnte hilfreich sein.
BEARBEITEN
Hier ist ein Link von Microsoft, der die Verwendung beschreibt.
Ich habe gerade den obigen Code getestet und die folgenden js erhalten:
Welches macht genau das, was es tun soll.
quelle
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
Was passiert mit Ihrem Code?@
Symbol in einem regulären Ausdruck in.cshtml
. Normalerweise würde es versuchen, alles nach dem@
Symbol als Rasiermessercode zu behandeln , aber das Doppelte@@
verhindert dies.Verwenden Sie wie folgt:
quelle
quelle
quelle
Hier gelandet ..... hier gelandet: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... die den folgenden regulären Ausdruck lieferten:
... was ich dank eines Hinweises in der Readme-Datei des jQuery Validation-Plugins gefunden habe: Datei https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
So ist die aktualisierte Version von @Fabian ‚s Antwort wäre:
Ich hoffe, das hilft
quelle
[email protected]
aber ich möchte, dass das falsch warbenutze das
quelle
Fehler ist im Jquery Validation Validation Plugin. Validiert nur mit @, um dies zu ändern
Ändern Sie den Code in diesen
quelle
Für diejenigen, die eine besser wartbare verwenden möchten Lösung als störende, leichtjährige RegEx-Übereinstimmungen verwenden , habe ich ein paar Codezeilen geschrieben. Wer Bytes sparen will, bleibt bei der RegEx-Variante :)
Dies schränkt ein:
Wie auch immer, es ist immer noch möglich, durchzulaufen. Kombinieren Sie dies also unbedingt mit einer serverseitigen Validierung + E-Mail-Link-Überprüfung.
Hier ist die JSFiddle
quelle
Sie können jQuery Validation verwenden und in einer einzigen HTML-Zeile die E-Mail und die E-Mail-Validierungsnachricht validieren:
type="email" required data-msg-email="Enter a valid email account!"
Sie können den Parameter data-msg-email verwenden , um eine personalisierte Nachricht zu platzieren, oder diesen Parameter anderweitig nicht platzieren. Die Standardnachricht wird angezeigt: "Bitte geben Sie eine gültige E-Mail-Adresse ein."
Vollständiges Beispiel:
quelle
quelle
Referenz: JQUERY UI WEBSITE
quelle
Sie sollten Folgendes sehen: jquery.validate.js , fügen Sie es Ihrem Projekt hinzu
Verwenden Sie es wie folgt:
quelle
Eine weitere einfache und vollständige Option:
quelle
Sie können Ihre eigene Funktion erstellen
quelle
Eine vereinfachte, die ich gerade gemacht habe, macht das, was ich brauche. Habe es auf nur alphanumerisch, Punkt, Unterstrich und @ beschränkt.
Mit Hilfe anderer gemacht
quelle
Dieser reguläre Ausdruck verhindert doppelte Domainnamen wie [email protected]. Er erlaubt nur zwei Domains wie [email protected]. Es ist auch nicht möglich, eine Nummer von [email protected] anzugeben
Alles Gute !!!!!
quelle
Überprüfen Sie E-Mails während der Eingabe mit der Bearbeitung des Schaltflächenstatus.
quelle
Wenn Sie die jquery-Validierung verwenden
Ich habe eine Methode erstellt
emailCustomFormat
, dieregex
für mein Custm-Format verwendet wird. Sie können sie ändern, um Ihren Anforderungen zu entsprechendann können Sie es so verwenden
Diese Regex akzeptieren
[email protected]
,[email protected]
aber nicht dasabc@abc
,[email protected]
,[email protected]
hoffe das hilft dir
quelle