使用JS从URL来源获取特定部分

时间:2018-08-03 08:23:40

标签: javascript url split

我必须从url来源中提取特定部分。但我似乎无法找出一种好的且失败的方法来做到这一点

例如,这是我的网址: http://site.domain.com

我需要知道使用了什么“域”。如何100%地从网址中获取此部分?

我的第一个想法是在“。”之间进行拆分。但是后来我想到了如果有人使用http://www.site.domain.com链接会发生什么情况。那将意味着它不起作用。

进一步的解释:

我目前有2个网站,两个网站都有不同的域名。我必须基于url中的“域名”来获取有关加载哪个页面的信息。

谢谢!

4 个答案:

答案 0 :(得分:1)

使用/split("/")分割:

function getDomain(url){
  var arr = url.split(".");
  return arr[arr.length - 2];
}
console.log(getDomain('http://site.domain.com'));
console.log(getDomain('http://www.site.domain.com'));

答案 1 :(得分:1)

您可以将其除以"."并获取字符串的倒数第二个文本。

var str = 'http://www.site.domain.com';

var domain = str.split('.');
console.log(domain[domain.length-2]);

稍后编辑

要提供进一步的故障证明,您可以获取.com和之前的第一个点之间的最新文本。如果您的网址中还有另一个点,例如'http://www.site.domain.com/post/test.asp',这将起作用。

var str = 'http://www.site.domain.com/post/test.asp';

var preComLink = str.substr(0, str.indexOf('.com'));
var preDomainIndex = preComLink.lastIndexOf('.');
var domain = preComLink.substr(preDomainIndex + 1, str.indexOf('com'));  

console.log(domain);

答案 2 :(得分:1)

将完整域名拆分为点,然后在最后一个元素之前使用元素。

var url = 'http://www.site.domain.com';
var array = url.split(".");
var lengthOfArray = array.length;
var domain = array[lengthOfArray-2];
console.log(domain);

答案 3 :(得分:1)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnSave">Save</button>