Feedback

C# - String auf Emailadresse prüfen

Veröffentlicht von am 18.05.2006
(1 Bewertungen)
Die Methode prüft mittels Regex ob in dem übergebenen String eine Emailadresse enthalten ist.
GFU-Schulungen  [Anzeige]

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

private bool IsEmail(string text)
{
return System.Text.RegularExpressions.Regex.IsMatch(text,@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}

3 Kommentare zum Snippet

herbivore schrieb am 10.12.2006:
Auf der sehr guten Seite http://www.regular-expressions.info/email.html schlägt der Autor folgenden Regex vor: ^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
Gregori schrieb am 27.06.2007:
Also dieser Regex in dem Snippet ist sehr anfällig für Falscheingaben. Man muss sagen, dass laut RFC 2821 (http://tools.ietf.org/html/rfc2821) sehr viel möglich ist.

Heutige deutsche Domains erlauben bekanntlich auch Umlaute. Ich denke der Regex von regular-expressions.info ist bereits nicht schlecht. Ich empfehle _allen_ eine Funktion in ihr Programm einzubauen, welches die Kontaktaufnahme mit dem Produzenten ermöglicht, falls die E-Mail Adresse nicht akzeptiert wird! Besonders da es exotische Toplevel-Domains gibt, welche noch weitere Sonderzeichen erlauben =).

Übrigens, mein persönlicher Regex den ich vor langer Zeit geschrieben habe:
^[a-z0-9|ä|ü|ö|\-|\.|_]+@[a-z0-9|ä|ü|ö|\-|\.|_]+\.[a-z]{2,4}$

Achtung: Dieser ist für regex-funktionen / -methoden, welche nicht auf Gross- / Kleinschreibung achten. Aber auch dieser hat noch Fehler drin und könnte locker erweitert werden! So könnte es Probleme geben mit .com.uk und ähnliche Toplevel-Domains.

Gruss,
Gregor
Patrick Semmler schrieb am 14.08.2012:
@Gregori:
Es gibt allerdings E-Mail-Programme und Mailserver, die Umlaute in E-Mail-Adressen nicht akzeptieren.
Beispielsweise wird von Postfix die Adresse
patrick@ist-ärzte-fan.de nicht akzeptiert, wenn ich die Mail mit Thunderbird versende, Fehlermeldung "bad recipient address syntax". Kippe ich die Mail mit Outlook ein, funktioniert es, da die Adresse von Outlook korrekt in punycode umgewandelt wird:
patrick@xn--ist-rzte-fan-jcb.de
Das wäre mal eine Idee für ein anderes Snippet :-)
 

Logge dich ein, um hier zu kommentieren!