2011-12-28 41 views
0

我正在準備參加我的考試,並且我被困在RegEx驗證中。我想驗證一個輸入的網站。我在這裏衝浪尋找解決方案,但沒有找到任何滿足我需求的方案。例如,這些鏈接應驗證:無法完成我的網站驗證器正則表達式

,這不應該:

目前我得到的最接近表達式爲:

http://(www\.)([^\.]+)(\.com)(/([^\.]+)(\.html|\.aspx))? 

它可以是一個有點髒,因爲這是我的第一筆交易用正則表達式

但regexTester它強調/接受(我使用regexpal):

我的正則表達式應該改變什麼?

P.S.對不起,這麼長的故事,我只是一個初學者。

+2

你能正式確認驗證規則嗎?哪些網址應該通過,哪些不應該? – 2011-12-28 22:53:49

+0

emm ..我不確定你的意思是什麼,但是應該驗證的鏈接我在頂部被侵蝕。 (mby我只是沒有得到你的問題)。 – asdewka 2011-12-28 22:55:23

+0

那麼,你只有這六個鏈接來驗證?或者可能有其他鏈接傳遞給你的程序? – 2011-12-28 22:57:07

回答

0

我看到的唯一區別是它是否具有多個頂級域(如co.uk或com.au)。

所以這就是我檢查:

^.*www.[a-zA-Z]*.[a-zA-Z]{1,3}/([a-zA-Z].*|) 

,實際上只是檢查它是否只有一個TLD和可選的URL一些零件。

我不驗證它是否以HTTP://開頭,因爲這對URL沒有實際要求。我也不檢查文檔類型(html或aspx),因爲它可以是可變的,甚至可以命名。