我需要一個Uri驗證方法。因此,像字符串:從字符串驗證Uri
「http://www.google.com」, 「www.google.com」, 「google.com」
..must驗證爲的URI。而像「google」這樣的普通字符串也不能作爲Uri的驗證。 要做這個檢查,我使用了兩種方法:UriBuilder和Uri.TryCreate()。
UriBuilder的問題是,我給它的任何字符串,它會返回一個Uri。當我在構造函數中傳遞一個普通字符串時,它會給出一個方案並返回「http://google/」,這不是我想要的行爲。
Uri.TryCreate()的問題在於,雖然它可以與「http://www.google.com」和「www.google.com」正常工作,但當我將其設置爲「google.com」時,它不會驗證是否爲Uri。
我考慮過對字符串進行檢查,如果它以http://或www開頭,則將字符串發送到UriBuilder類,但這對於「google.com」也沒有幫助,它也必須是Uri。
如何驗證諸如「google.com」之類的東西作爲Uri,而不是「google」?檢查.com,.net,.org字符串的結尾似乎不靈活。
您可以驗證您是否正在驗證URL或URI嗎?你的問題有點令人困惑。 – slugster 2010-09-09 07:12:15
@Slugster - 在閱讀完您的問題後,我在網上查詢瞭解差異,所以答案是我需要驗證一個URI而不是URL。 – 2010-09-09 12:14:40