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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
9 Kommentare
Neuester Kommentar
Moin,
ich würde es so machen
Dann kannst du direkt mit prüfen, ob der Benutzerteil valide ist.
Testen kannst du es hier:
https://regexr.com/6n825
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
Moin,
ja, da muss ein "$" ans Ende und darüber hinaus muss das Fragezeichen hinter dem "@" auch noch weg.
Gruß Thomas
ja, da muss ein "$" ans Ende und darüber hinaus muss das Fragezeichen hinter dem "@" auch noch weg.
Gruß Thomas
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.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.
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
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
Die kann man sich unten drunter auch als PDF runterladen.
Gruß Thomas