这个问题在这里已经有了答案:
What is the best regular expression to check if a string is a valid URL?
(58 个回答)
7年前关闭。
我使用 Asp.net 4 和 C# Web 窗体。
在我的 Web 应用程序中,用户可以使用 TextBox 添加 URL。
我需要确保插入的每个值都有 语法正确的 URL 格式 (我不需要检查 URL 是否真的存在)。
因此,作为第一条规则,我想使用 CustomValidator Control 进行检查如果用户插入的输入在开头具有值字符串“http://”。
我的问题?
谢谢你的帮助
请您参考如下方法:
在许多方面更简单的方法,并且对以后的更改更灵活,就是尝试一下,看看:
public static bool IsValidHttpUri(string uriString)
{
Uri test = null;
return Uri.TryCreate(uriString, UriKind.Absolute, out test) && test.Scheme == "http";
)
使用
Uri.IsWellFormedUriString仍然更容易,但不会检查您对 URI 必须是 HTTP 的要求。
编辑:哦,这是否认为 IRI 有效取决于配置,请参阅 http://msdn.microsoft.com/en-us/library/system.uri.aspx 上的“国际资源标识符支持”部分通常,无论您是否希望它们被视为有效,无论如何都会匹配此配置设置,因此在大多数情况下这实际上是一个好处。
