首先,這看起來應該是以前應該問過的,但是我找不到任何回答我的問題的東西。將網址轉換爲有效的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