2015-04-22 44 views
1

我使用正则表达式如下测试,如果网址有效...jQuery的域和URL验证

var pattern = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; 

它返回true为以下网址...

http://google.com 
http://google.co.uk 
http://something.google.xyz 
http://something.google.co.uk 

但我想允许平原域以及例如...

google.com 
google.nyc 
google.co.uk 
sub.google.com 

请帮助修改此。谢谢

+2

我使用正则表达式时,发现这个网站有用 - http://www.regexr.com/ – piggy

+0

@piggy好学习的地方,我想这正则表达式修改 – seoppc

+1

试试这个 /^(HTTPS:\? /\//?([\da-z\.-]+)\.([az\.]{2,6})([\/\w\ .-] *)* \ /?$/ – JuniorDev

回答

1

如果你只需要测试网址是否有效,而不是挑选特定的部分,你可以使用更简单的东西。

(https?:\/\/)?\w+\.

+0

它甚至通过'谷歌'测试 – seoppc

+0

@seoppc只添加了url验证的新正则表达式 –

+0

@seoppc - 'google'是一个有效的域名。 – Quentin

0

尝试使用这一块,也适用于子域。

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/