peter64319
Goto Top

Regex - korrekter Eintrag bei Prüfung der Mail-Domänen

Hallo zusammen,

ich habe eine SaaS-Anwendung in einer Cloud, wo sich User automatisch einen Zugangsaccount mit Angabe der Mail-Adresse generieren lassen können. Jetzt möchte ich aber, die User auf bestimmte Domänen beschränken, was über Regex wohl gehen soll. Das nötige Bedingungsfeld für diesen Eintrag habe ich gefunden, nur keinen Plan von Regex.

Mein Wunsch, nur User mit dem Domänennamen "@t-online.de or @web.de or @gmx.net" können sich einen Account generieren lassen. Ich habe mal einen Generator bemüht und da kommt raus ^@t-online\.de or @web\.de or @gmx\.net$ ... kann das Stimmen oder bin ich damit auf dem Holzweg?

Wäre echt nett, wenn jemand dazu etwas sagen kann.

Content-ID: 3008876671

Url: https://administrator.de/forum/regex-korrekter-eintrag-bei-pruefung-der-mail-domaenen-3008876671.html

Ausgedruckt am: 13.04.2025 um 05:04 Uhr

em-pie
Lösung em-pie 07.06.2022 aktualisiert um 15:23:18 Uhr
Goto Top
Moin,

ich würde es so machen
^[a-zA-Z0-9_.+-]+@?(t-online\.de|facebook\.com|gmx.net)

Dann kannst du direkt mit prüfen, ob der Benutzerteil valide ist.

Testen kannst du es hier:
https://regexr.com/6n825
Peter64319
Lösung Peter64319 07.06.2022 aktualisiert um 14:42:43 Uhr
Goto Top
Ebenso Moin,

muss ich ans Ende nicht noch nen $ setzen?
Peter64319
Lösung Peter64319 07.06.2022 um 15:00:40 Uhr
Goto Top
Hallo in den Norden,

ich habe es eben gecheckt und es funktioniert ... Herzlichen Dank für die schnelle Hilfe
TK1987
Lösung TK1987 09.06.2022 um 00:25:50 Uhr
Goto Top
Moin,

Zitat von @Peter64319:
muss ich ans Ende nicht noch nen $ setzen?
ja, da muss ein "$" ans Ende und darüber hinaus muss das Fragezeichen hinter dem "@" auch noch weg.

Gruß Thomas
Peter64319
Lösung Peter64319 09.06.2022 aktualisiert um 20:52:01 Uhr
Goto Top
Hallo zusammen,

die erste Lösung "^[a-zA-Z0-9_.+-]+@?(t-online\.de|facebook\.com|gmx.net)" habe ich natürlich was die Domänen betrifft noch umgeschrieben, das ganze in die SaaS-Lösung eingetragen und es funktioniert.

Aber Thomas, welchen Vorteile würde mir das entfernen des "?" und das hinzufügen des "$" bringen? Wenn es mehr Sicherheit bringt, mache ich das gerne.
TK1987
Lösung TK1987 10.06.2022 um 07:54:22 Uhr
Goto Top
Zitat von @Peter64319:
Aber Thomas, welchen Vorteile würde mir das entfernen des "?" und das hinzufügen des "$" bringen? Wenn es mehr Sicherheit bringt, mache ich das gerne.
Der obige Regex würde auch auf nicht valide E-Mail Adressen und unter Umständen auch auf nicht gewünschte Adressen zutreffen.

Vorweg: Ein Fragezeichen kann, je nach dem wo es steht, bei RegEx verschiedene Bedeutungen haben. Wenn es wie hier, direkt hinter einem Zeichen (in diesem Fall "@") steht, ist es eine Abkürzung für die Mengenangabe "{0,1}", bedeutet also das Zeichen kommt 0 oder 1 Mal vor.
Mit anderen Worten: Wenn du das @ einfach weglässt, würde der RegEx auch zutreffen.

Das "$"-Zeichen bestimmt, dass die gesuchte Zeichenkette am Zeilenende (respektive Ende der Zeichenkette) stehen muss. Um bei dem Link von @em-pie zu bleiben, hier mal ein Fork, ergänzt um nicht Valide oder gar nicht gewünschte Addressen: https://regexr.com/6nfle

Gruß Thomas
Peter64319
Lösung Peter64319 10.06.2022 um 11:26:04 Uhr
Goto Top
Hallo Thomas,

Danke für die Erläuterung, welche ich gerne mitnehme ... ^[a-zA-Z0-9_.+-]+@(t-online\.de|facebook\.com|gmx.net)$"

Ich möchte mit diesem Regex-Eintrag einfach verhindern, das sich nicht jeder einen Account generieren kann. Sonst kriege ich schon in der Früh Herzflattern face-smile. Eigentlich wollte ich das über eine Whitelist machen, doch dies sieht der Hersteller in seiner SaaS-Anwendung nicht vor.

Gruß, Peter
Peter64319
Lösung Peter64319 10.06.2022 um 12:04:33 Uhr
Goto Top
Habe es eben mit der Anpassung von Thomas getestet und es funktioniert. Herzlichen Dank an euch beiden ... eigentlich Einfach, wenn man es weiß

Gruß, Peter
TK1987
TK1987 10.06.2022 aktualisiert um 12:35:49 Uhr
Goto Top
Zitat von @Peter64319:
... eigentlich Einfach, wenn man es weiß
jup. Vielleicht noch ganz hilfreich als kleine RegEx-Legende: https://cheatography.com/davechild/cheat-sheets/regular-expressions/
Die kann man sich unten drunter auch als PDF runterladen.

Gruß Thomas