首先,这看起来应该是以前应该问过的,但是我找不到任何回答我的问题的东西。将网址转换为有效的href值
我的任务的基本概述是在基于用户定义的Web地址的网页上呈现锚链接。正如用户定义的地址,这可能是任何格式,例如:
- http://www.example.com
- https://www.example.com
- www.example.com
- example.com
我需要什么与此值做的是将其设置为锚标记的href
属性。现在,问题在于(至少在Chrome中)只有前两个示例会起作用,因为它们被识别为绝对URL路径。最后两个例子将重定向到相同的域(即作为相对路径)
所以最终的问题是:什么是格式化这些值以确保一致的绝对路径的最佳方式是什么?我可以检查http/https并添加它如果失踪,但我希望有可能是一个开箱即用的.Net类,这将是更可靠。
此外,由于这是一个用户定义的值,因此它可能是完整的垃圾,因此验证URL的函数也是一个不错的奖励。
是否有理由在第一个“if”中使用按位OR而不是逻辑OR?看到[这个答案](http://stackoverflow.com/questions/7331686/why-and-not/7331721#7331721)的差异的解释。 – 2012-04-18 10:16:05
@DanielHilgarth我已经更新了答案。原来的脚本是用VB.NET编写的,所以我已经把它发布到了OP的c#中,但是错过了。 – Curt 2012-04-18 10:17:28
感谢您的建议,看起来我可能不得不选择手动实现(至少现在),但'https'部分对我来说不是问题。对于那些类型的网站,我希望用户明确包含https部分 – musefan 2012-04-18 10:30:01