如何在使用普通网址的代理中获取目标网站的第一个子网域

时间:2015-01-03 01:36:19

标签: javascript regex url uri

如果有人想要当前网站的最后一个子域(例如:ftp中的ftp.kernel.org,可以使用

location.hostname.split('.')[0]

但是,对于非混淆代理,URL可以像http://www.someproxy.com/somepath_layers/site.bin?http://ftp.kernel.org/pub/iso一样 然后,location.hostname将返回代理地址。location.pathname将删除目标地址,因此我只看到普通location.href

重点是在http://之后剥离,但如果代理也可以安全访问,则网址会变为https://www.someproxy.com/somepath_layers/site.bin?http://ftp.kernel.org/pub/iso

那么,我怎么能匹配到JavaScript中包含的最后一个模式? (目的是使网站在web.archive.org liveweb内部工作)。

更新:我还需要正则表达式无需代理(直接访问网站时)

1 个答案:

答案 0 :(得分:0)

此正则表达式提取第一个子域:

/(?!(?:https?|ftps?):\/\/)\b([a-z][^.]+).*/ig

子域名正在捕获第1组

See regex