Sprache: C#
Funktion zum überprüfen einer Url
public static bool IsValidUrl(String url)
{
return Regex.IsMatch(url, @"^(http|https|ftp|)://|[a-zA-Z0-9-.]+.[a-zA-Z](:[a-zA-Z0-9]*)?/?([a-zA-Z0-9-._?,'/\+&%$#=~])*[^.,)(s]$");
}
public static bool IsValidUrl(String url)
{
return Regex.IsMatch(url, @"^(http|https|ftp|)://|[a-zA-Z0-9-.]+.[a-zA-Z](:[a-zA-Z0-9]*)?/?([a-zA-Z0-9-._?,'/\+&%$#=~])*[^.,)(s]$");
}
Alte URL:
/snippet/pruefen-einer-url/13084
Geht mit Bordmitteln so:
[code]public static bool IsValidUrl(string url)
{
Uri uri;
if (Uri.TryCreate(url, UriKind.Absolute, out uri) == false)
{
return false;
}
return uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps || uri.Scheme == Uri.UriSchemeFtp;
}[/code]
Da Problem an dem Regex ist auch das es weit mehr als die HTTP, HTTPS und FTP gibt. Spontan fallen mir beispielsweise noch FTPS und FILE ein. Es gibt aber noch viele mehr.
https://de.wikipedia.org/wiki/Uniform_Resource_Locator
oder so:
// so alle true
bool x = false;
x = Uri.IsWellFormedUriString(„ftp://Klaus.de“, UriKind.Absolute);
x = Uri.IsWellFormedUriString(„Klaus.de“, UriKind.Relative);
x = Uri.IsWellFormedUriString(„Klaus.de“, UriKind.RelativeOrAbsolute);
x = Uri.IsWellFormedUriString(„http://Klaus.de“,UriKind.RelativeOrAbsolute);