我必须从url来源中提取特定部分。但我似乎无法找出一种好的且失败的方法来做到这一点
例如,这是我的网址: http://site.domain.com
我需要知道使用了什么“域”。如何100%地从网址中获取此部分?
我的第一个想法是在“。”之间进行拆分。但是后来我想到了如果有人使用http://www.site.domain.com链接会发生什么情况。那将意味着它不起作用。
进一步的解释:
我目前有2个网站,两个网站都有不同的域名。我必须基于url中的“域名”来获取有关加载哪个页面的信息。
谢谢!
答案 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>