2009-01-27 69 views
2

我需要用戶能夠輸入URL,並且希望確保它儘可能健康。比如檢查前面是http://,沒有雙點,也許有效的頂級域名(TLD),尾部斜線(我必須添加最後一頁)。用於消毒用戶輸入的URL的Delphi代碼

我認爲這是一個共同的要求,它必須已經存在。建議?

[編輯:]要清楚的是,這是Windows服務中的運行時需求。我們的目標是從配置中讀取最好的URL,而不是驗證用戶輸入的內容。實質上,如果我可以調整URL並使其工作,那麼我就是這麼做的。下載將是一個特定的文件,所以如果一切都出錯了,它不會錯誤地從另一臺服務器上得到錯誤的東西。

回答

3

你看過「What is the best regular expression to check if a string is a valid URL」嗎?這不是特定的Delphi,但可能會讓你開始。

+0

嗯,一個有趣的想法,謝謝,但我寧願「自動更正」的網址,而不是驗證它。但在進入時驗證它可能也是件好事。 – mj2008 2009-01-27 16:40:30

+0

您可以直接顯示輸入的URL不正確的可視標誌,而不是自動更正。例如禁用OK按鈕或將編輯背景設置爲紅色。 – 2009-01-27 17:23:25

1

也許一些建議here可能會有所幫助。

4

如何在Windows API中使用PathIsURL函數?

更新: 這已經包裝在ShLwApi單元中的Delphi RTL中。