E-Mail mit Regex in JavaScript validieren
- Überprüfen Sie E-Mails mit TLDs zwischen zwei und drei Buchstaben und verbieten Sie Zeichen in E-Mail- und Domänennamen in JavaScript
- Überprüfen Sie E-Mails zwischen zwei und sechs TLD-Namen und verbieten Sie das Pluszeichen in E-Mail-Namen in JavaScript
- E-Mail überprüfen und Zahlen und gültige Zeichen in E-Mail und Domänennamen in JavaScript zulassen
- Überprüfen Sie die E-Mail-Adresse im RFC 5322-Format in JavaScript
- Abschluss
In diesem Artikel lernen Sie mehrere reguläre Ausdrücke kennen, die verschiedene Arten von E-Mail-Adressen validieren können. Daher können Sie eines der Muster ändern oder auswählen, das Ihrem Anwendungsfall am besten entspricht.
Überprüfen Sie E-Mails mit TLDs zwischen zwei und drei Buchstaben und verbieten Sie Zeichen in E-Mail- und Domänennamen in JavaScript
Sie können einen regulären Ausdruck schreiben, der E-Mail-Adressen zwischen zwei und drei TLDs zulässt. Zum Beispiel .com
und .io
.
Das bedeutet auch, dass das Muster eine E-Mail mit den folgenden Merkmalen nicht zulässt.
- Eine TLD mit mehr als drei Zeichen TLD, z. B.
.mobi
- Mehrere TLD, z.B. (
.googlemail.sa
) - Domain mit Zahlen, z. B.
tech125.com
- Der Punkt (
.
) oder ein Bindestrich (-
) im E-Mail-Namen - Der Bindestrich im Domainnamen
In unserem Beispielcode unten haben wir einen regulären Ausdruck, der true
für E-Mail-Adressen wie abc@gmail.com
, hello@hello.com
und ab0c@gmail.com
zurückgibt.
let pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;
function checkEmailAddress(email_address) {
let result = pattern.test(email_address);
console.log(result);
}
checkEmailAddress('abc@gmail.com')
Ausgang:
true
In der Zwischenzeit gibt das Muster für die folgende E-Mail-Adresse false
zurück.
ab0c@my-domain.com
Überprüfen Sie E-Mails zwischen zwei und sechs TLD-Namen und verbieten Sie das Pluszeichen in E-Mail-Namen in JavaScript
Ein reguläres Ausdrucksmuster kann das vollständige Stoppzeichen (.
) zulassen und das Pluszeichen (+
) in einer E-Mail-Adresse nicht zulassen. Dies bedeutet, dass E-Mail-Adressen mit dem Pluszeichen den regulären Ausdruck nicht bestehen.
Sie geben also false
zurück, auch wenn es gültig ist. Das Muster, das wir in diesem Abschnitt definieren, gibt false
für eine E-Mail mit den folgenden Merkmalen zurück.
- Eine E-Mail mit dem Pluszeichen (
+
) - Eine TLD mit mehr als sechs Zeichen, z. (".Technologie")
Im folgenden Code haben wir einen neuen regulären Ausdruck. In der Zwischenzeit gibt dieses Muster für die letzte E-Mail im vorherigen Abschnitt true
zurück.
let pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
function checkEmailAddress(email_address) {
let result = pattern.test(email_address);
console.log(result);
}
checkEmailAddress('ab0c@my-domain.com')
Ausgang:
true
In der Zwischenzeit werden die unten aufgeführten E-Mail-Adressen dieses Muster nicht bestehen. Sie sind jedoch alle für einige E-Mail-Anbieter gültig.
ab+c@my-domain.com
mr+john@my-domain.com.ga
E-Mail überprüfen und Zahlen und gültige Zeichen in E-Mail und Domänennamen in JavaScript zulassen
Sie können ein flexibles Muster für reguläre Ausdrücke schreiben, das die meisten der heute existierenden gültigen E-Mail-Adressen zulässt. Eine solche E-Mail hat die folgenden Merkmale.
- Einige Zeichen wie der Punkt und das Zeichen in der E-Mail und im TLD-Namen.
- Die neuen TLDs wie
.technology
und.business
.
Der Nachteil dieses Musters ist, dass es mehrere dieser Zeichen zulässt. Infolgedessen kann der Benutzer eine extrem lange E-Mail-Adresse übergeben, die gültig erscheint, es aber nicht ist.
let pattern =
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
function checkEmailAddress(email_address) {
let result = pattern.test(email_address);
console.log(result);
}
checkEmailAddress('johndoe@citadel-consulting.com');
Ausgang:
true
Die folgende ungültige E-Mail-Adresse wird dieses Muster jedoch passieren.
aaa++++++++++@gmail.technologyyyyyyyyyyyyyyyyyyyyyyyyyyy.com
Überprüfen Sie die E-Mail-Adresse im RFC 5322-Format in JavaScript
Sie können ein reguläres Ausdrucksmuster schreiben, das mit dem Format RFC 5322 kompatibel ist. Ein solcher regulärer Ausdruck hat jedoch eine lange Länge.
Infolgedessen kann es unverständlich sein. Sie können also die Kurzform mit der Klasse RegExp
in JavaScript verwenden.
Im folgenden Code haben wir ein reguläres Ausdrucksmuster implementiert, das mit RFC 5322 konform ist. Es wird also für die gültigsten E-Mail-Adressen true
zurückgeben.
let pattern = new RegExp(
'([!#-\'*+/-9=?A-Z^-~-]+(\.[!#-\'*+/-9=?A-Z^-~-]+)*|"\(\[\]!#-[^-~ \t]|(\\[\t -~]))+")@([!#-\'*+/-9=?A-Z^-~-]+(\.[!#-\'*+/-9=?A-Z^-~-]+)*|\[[\t -Z^-~]*])');
function checkEmailAddress(email_address) {
let result = pattern.test(email_address);
console.log(result);
}
checkEmailAddress('aa@gmail.com.sa');
Ausgang:
true
Abschluss
In diesem Artikel wurden verschiedene reguläre Ausdrucksmuster besprochen, die eine E-Mail-Adresse validieren. Es ist jedoch alles auf der Client-Seite.
Wir bitten Sie, die E-Mail für zusätzliche Sicherheit auch serverseitig zu validieren.
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
LinkedIn