2012-11-06 50 views
1

可能重複:
How to check that a uri string is valid如何使用C#驗證網址?

我這裏假設用戶輸入URL的文本框,我怎麼能 編程找出用戶已經進入了一個網址是有效或者不是,如果有效的話還得處理進一步的流程,否則必須輸入有效的url?

我試試這個代碼:

string url = textBox1.Text; 
if (!url.StartsWith("http://")) 
    url = "http://" + url; 
Uri myUri; 
if(Uri.TryCreate(url,UriKind.RelativeOrAbsolute,out myUri)) 
{ 
    //use the uri here 
} 
else 
{ 
    MessageBox.Show("Please Enter the Absolute URL name"); 
    textBox1.Clear(); 
    textBox1.Focus(); 
} 
+3

爲什麼不'Uri.TryCreate'? (http://msdn.microsoft.com/en-US/library/system.uri.trycreate.aspx)?或者你認爲'有效'是什麼意思?可達(可在您的VPN或全球範圍內,...)?或者只是spec-valid(http://www.w3.org/Addressing/URL/url-spec.txt)? –

+0

,因爲您已經添加了一些代碼:問題是什麼? –

+2

你可以更具體一點,你認爲是一個'有效'的網址?它只需要匹配一個模式,還是必須解析爲文檔/頁面/資源? – KazR

回答

-1

這個答案是從一個類似的問題 A better way to validate URL in C# than try-catch?

string myString="http://someUrl"; 
Uri myUri; 
if(Uri.TryCreate(myString,UriKind.RelativeOrAbsolute,out myUri) 
{ 
    //use the uri here 
} 
+0

我試過這個代碼,但它沒有檢查正確 – Gan

+0

通過使用此代碼,如果我鍵入任何內容像(afdafasd)它採取有效的URL onl? – Gan