2015-05-14 37 views
0

我的目标是让这些URL:从任何网址,以获取唯一的域

https://www.facebook.com/ -> https://www.facebook.com/ 
http://www.facebook.com/ -> http://www.facebook.com/ 
https://www.facebook.com -> https://www.facebook.com 
https://www.facebook.com/awdawdaw/dawdwad -> https://www.facebook.com/ 

我的正则表达式是:/(https*:\/\/.+(\/|\b))/gi

前3个网址已被正确返回。但是当字符后面有一些东西时,它也会匹配那些字符,我不想要它。接下来我应该做什么?

回答

2

你可以使用下面的否定字符类的正则表达式。

\bhttps?:\/\/[^\/]+\/? 

DEMO

+0

完全一样的答案我张贴但几秒钟后期+1 – anubhava

+0

那是快它的工作原理。非常感谢! – user1924244

1

试试这个:

location.hostname 

希望我给你正确的:)

+0

这只有在他试图获取用户所在页面的URL时才有效 - 例如,如果他们将地址输入到文本框中。 但是 - 避免在任何可能的情况下使用正则表达式。 – Amicable

+0

我在问题主体上看不到任何文本框。但你是正确的,只有当你想获得浏览器的地址栏的域名(也许'任何网址'的意思是任何来源的网址;)) –

+0

我知道,但问题是要获得另一个网址(我的用户发送)。 – user1924244