JS把URL中的参数解析为一个对象

作者:周星 发布:2017-10-07

很多情况下我们需要URL中用户的参数,用JS解析非常方便,那么如何解析这个url呢,代码如下

var url = "www.abc.com?id=1&class=2&name=3";
var i = url.indexOf("?");
var param = url.substring(i+1);           // 得到id=1&class=2&name=3 = param
var paramArray = param.split("&");        // 得到paramArray=["id=1","class=2","name=3"];
var urlObject = {}                        //定义我们要转化为的对象
for(var i = 0; i < paramArray.length; i++) {
  var urlItem = paramArray[i];            // 循环取出id=1,class=2,,,
  var item = urlItem.split("=");          // 继续分解id=1,此时的item=["id", "1"]
  urlObject[item[0]] = item[1];           // urlObject[id] = 1;
}

至此解析结束

注意:当url中没有参数,即没有问号时,i = -1,返回的这个object会是{url: undefined}

所以必要时加上判断 if ( i != -1 )

支付宝扫码赞助博主


评论(0)