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-Key: 3008876671

Url: https://administrator.de/contentid/3008876671

Printed on: May 7, 2024 at 16:05 o'clock

Member: em-pie
Solution em-pie Jun 07, 2022 updated at 13:23:18 (UTC)
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
Member: Peter64319
Solution Peter64319 Jun 07, 2022 updated at 12:42:43 (UTC)
Goto Top
Ebenso Moin,

muss ich ans Ende nicht noch nen $ setzen?
Member: Peter64319
Solution Peter64319 Jun 07, 2022 at 13:00:40 (UTC)
Goto Top
Hallo in den Norden,

ich habe es eben gecheckt und es funktioniert ... Herzlichen Dank für die schnelle Hilfe
Member: TK1987
Solution TK1987 Jun 08, 2022 at 22:25:50 (UTC)
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
Member: Peter64319
Solution Peter64319 Jun 09, 2022 updated at 18:52:01 (UTC)
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.
Member: TK1987
Solution TK1987 Jun 10, 2022 at 05:54:22 (UTC)
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
Member: Peter64319
Solution Peter64319 Jun 10, 2022 at 09:26:04 (UTC)
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
Member: Peter64319
Solution Peter64319 Jun 10, 2022 at 10:04:33 (UTC)
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
Member: TK1987
TK1987 Jun 10, 2022 updated at 10:35:49 (UTC)
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