我使用Asp.net 4和C#Web Forms.
在我的Web应用程序中,用户可以使用TextBox添加URL.
我需要确保插入的每个值都具有语法正确的URL格式(我不需要检查URL是否确实存在).
因此,作为第一条规则,我想使用CustomValidator Controlif 检查用户插入的输入在开头是否具有值字符串"http://".
我的问题?
你能为我提供一个RegEx来添加到我的CustomValidator Control中,它只允许传递以"http://"开头的字符串吗?
你有任何其他规则使用RegEx建议我吗?
检测语法正确的URL的最佳做法是什么?
谢谢你的帮助
在许多方面更简单的方法,并且对以后的更改更灵活,就是尝试它并看到:
public static bool IsValidHttpUri(string uriString)
{
Uri test = null;
return Uri.TryCreate(uriString, UriKind.Absolute, out test) && test.Scheme == "http";
)
Run Code Online (Sandbox Code Playgroud)
使用Uri.IsWellFormedUriString更容易,但不检查您的URI必须是HTTP的要求.
编辑:哦,这是否认为IRI有效取决于配置,请参阅http://msdn.microsoft.com/en-us/library/system.uri.aspx上的"国际资源标识符支持"部分作为规则,无论您是否希望它们被认为是有效的,都会匹配此配置设置,因此在大多数情况下这实际上是一个好处.
| 归档时间: |
|
| 查看次数: |
5132 次 |
| 最近记录: |