Feedback

C# - Validierung eines URL

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

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

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

/// <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!