通过给定一个url地址字符串获取host,honame,主域等信息

我们在日常开发中经常需要通过一个字符串URL来获取其中的域名,主域等信息。这里介绍一个比较简单的获取方式。

var getLocation = function(url){
  if(url){
    let aDom = document.createElement('a');
    aDom.href = url;
    let j = {
        hostname: aDom.hostname,
        host: aDom.host,
        origin: aDom.origin,
        protocol: aDom.protocol,
        pathname: aDom.pathname,
        hash: aDom.hash
    }
    let Domain = j.hostname.match(/([a-z0-9][a-z0-9\-]*?\.(?:com\.cn|net\.cn|org\.cn|com\.au|imipo\.shop|com|cn|co|net|org|gov|cc|biz|info|hn|xyz|hk|icu|us|mobi|art|wang|me|so|top|win|vip|ltd|red|ru|ac\.cn|xn--kput3i|xin|xn--3ds443g|shop|site|club|fun|online|link|gov\.cn|name|pro|work|tv|kim|group|tech|store|cx|ren|ink|pub|live|wiki|design|xn--fiq228c5hs|xn--6qq986b3xl|xn--fiqs8s|xn--ses554g|xn--hxt814e|xn--55qx5d|xn--io0a7i|xn--3bst00m)(?:\.(?:cn|jp))?)$/);
    if(Domain){
        j.domain = Domain[0];
    }
    return j;
  }
}
var mylocation = getLocation('https://blog.csdn.net/qq_37417446/article/details/107732797/#eee')

console.log(mylocation)
//输出结果:
/*
	domain: "csdn.net"
	hash: "#eee"
	host: "blog.csdn.net"
	hostname: "blog.csdn.net"
	origin: "https://blog.csdn.net"
	pathname: "/qq_37417446/article/details/107732797/"
	protocol: "https:"
*/

这里主要借助的是location的一些方法,通过给定的地址创建一个a链接,并且把地址复制给a链接的地址,这样a链接就可以通过location方法获取相应的地址数据,然后返回成对象的形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值