2017-05-06 80 views
0

我有這個URL驗證正則表達式,它工作正常,但它不通過,如果URL包含hyphenwww.i-card.com,這是一個有效的域,它應該通過它。這裏是我的正則表達式:包含連字符的URL驗證正則表達式

^((https?|ftp|smtp):\/\/)?(www.)?[a-z0-9]+(\.[a-z]{2,}){1,3}(#?\/?[a-zA-Z0-9#]+)*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$

+0

添加'-'第一字符類:'[A-Z0-9 - ] +' – revo

+0

這正則表達式是略瘋。它匹配很多不是URL的東西,也不匹配很多東西。 – melpomene

+0

@melpomene你能給我舉個例子嗎? –

回答

0

試試這個版本:

^((https?|ftp|smtp):\/\/)?(www.)?[a-z0-9\-]+(\.[a-z\-]{2,}){1,3}(#?\/?[a-zA-Z0-9\-#]+)*\/?(\?[a-zA-Z0-9-_\-]+=[a-zA-Z0-9-%\-]+&?)?$