使用JS从url原点获取特定部分



我必须从url原点提取特定部分。但我似乎想不出一个好的、防故障的方法来做这个

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

我需要知道使用了什么"域"。如何在100%的时间内从url中获取此部分?

我的第一个想法是把它分成"。",但后来我想如果有人使用http://www.site.domain.com链接这意味着它不会起作用。

进一步解释:

我目前有两个网站都有不同的域名。我必须根据url中的"域名"获得加载页面的信息。

谢谢!

在点上拆分完整域名,然后在最后一个元素之前取元素。

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

使用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'));

您可以通过"."将其拆分,并获得字符串的倒数第二个文本。

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

后期编辑

为了提供进一步的防故障功能,您可以获取.com和它前面的第一个点之间的最新文本。如果您的URL中有另一个点,例如:'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);

let code = (function(){
	return{
		getDomain: function(url){
			var slpitDomainURL = url.split(".");
			var lengthOfArray = slpitDomainURL.length;
			var domain = slpitDomainURL[lengthOfArray-2];
			
			return domain;
		}
	}
})();
console.log(code.getDomain('http://www.google.com'));
console.log(code.getDomain('http://www.facebook.com'));

最新更新