Feedback

C# - Validierung eines URL

Veröffentlicht von am 04.10.2008
(1 Bewertungen)
Validiert einen URL.
GFU-Schulungen  [Anzeige]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

/// <summary>
    /// Determines whether the specified URL is in a valid format.
    /// </summary>
    /// <param name="Url">URL to validate.</param>
    /// <returns><c>True</c> if the URL is formatted correctly, otherwise <c>False</c>.</returns>
    /// <remarks></remarks>
    public static bool IsUrl(String Url)
    {
      return Regex.IsMatch(Url, @"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
    }
Abgelegt unter URL, Web, Validierung.

3 Kommentare zum Snippet

stef schrieb am 23.02.2016:
cooles snippet.
wieso aber werden folgende als gültig betrachtet??:

http://ww.web.de
http://wwwweb.de

und warum sind diese ungültig???:

HTTPS://www.web.de
www.Web.de
HTTP://www.irgendwas.com
Dirk Klimke schrieb am 23.02.2016:
Hallo stef,

ja da hast du sicherlich Recht. Allerdings suchte ich damals vermutlich nur eine schnelle Implementierung um einen URI zu validieren. Keine Internetadresse mit www. Heute würde ich Uri.IsWellFormedUriString (... (ich meine so heißt sie heute) verwenden. Wenn man einen RFC konformen Ausdruck haben möchte müsste man etwas mehr Gehirnschmalz investieren denke ich. Case Insensitivity über die RegexOptions.IgnoreCase (oder so) oder (?i) oder /ig... Ich denke dieses Snippet ist aufgrund der vorhandenen Implementierung in der Uri Klasse obsolet.
Koopakiller schrieb am 23.02.2016:
Aus irgend einem Grund wurde mein Kommentar verschluckt...was ich in etwa schon mal geschrieben habe:

Die im Snippet zu sehenden Protokolle sind sicherlich noch mit die gebräuchlichsten, aber bei weitem nicht vollständig. Auch kann man selbst Protokolle festlegen, was eine viel allgemeinere Lösung nötig macht. Daher ist Dirks Verweis auf Uri.IsWellFormedUriString vollkommen richtig.

Was deine ersten 2 Beispiele angeht @stef, warum sollten das keine gültigen URLs sein? ww ist einfach eine Subdomain von web.de und wwwweb.de ist einfach die komplette Domain. Da gibt es keinen Fehler.
 

Logge dich ein, um hier zu kommentieren!