我有一个asp.net应用程序,其中有一个用于输入主页URL的文本框。默认情况下,此文本框包含 http:// 。如果用户输入了其他文本而不是现有文本,则会进行验证。否则保持原样。怎么可能?请通过提供解决此问题的正则表达来帮助我。
答案 0 :(得分:1)
试试这个表达
^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$
来自http://msdn.microsoft.com/en-us/library/ff650303.aspx#paght000001_commonregularexpressions
或者代码中的这种机制
public bool IsValidUri(string uri)
{
Uri validatedUri;
return Uri.TryCreate(uri, UriKind.RelativeOrAbsolute, out validatedUri);
}
发布者:0xA3 Is there a URL validator on .Net?
HTH
答案 1 :(得分:1)
验证URL并不是一件容易的事。在编写这样的正则表达式时,您应该记住所有约束。我从未见过能够验证url是否有效的表达式。 F.i.有些本地字符的网址为http://президент.рф
,根据MSDN建议的常规格式无效。但是,查看Apache's UrlValidator