解析URL(js)

如果给定一个网址,如何解析获得你想要的参数呢?

比如现在给定网址:http://taobao.com/list/?tag=news_enter&ac=wap&item_wrap=4&format=json;需要解析后得到:tag:news_enter、ac:wap、item_wrap:4、foemat:json这样的一组key-value值。

那我们如何去做呢?

首先我们可以看出我们想要的参数都是在‘?’后面,那我们可以用split方法将其分割。在问号后半部分我们的参数之间有‘&’,同样我们使用split方法将其分割;key-value值之间的‘=’同样也是用split方法;

接下来看代码部分:

function parseQueryString(url) {
            var match = url.split('?')[1].split('#')[0];                     //将分割?后面的字符串赋给match
            var matches = match.split('&');                                //将后面的以‘&’分割并以数组返回
            var obj = {};
            for(var i = 0; i < matches.length; i++){
                var key = matches[i].split('=')[0];                       //  将matches里面的参数再以’=‘细分,’=‘前的值为key,后面为value
                var value = matches[i].split('=')[1];
                obj[key] = value;
            }
            return obj;
        }

利用console.log(parseQueryString('http://taobao.com/list/?tag=news_enter&ac=wap&item_wrap=4&format=json'));可以再chrome控制台看到我们想要的结果:

如有问题,请指出来,我会虚心接受。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值