var url = "http://taobao.com/shopping.html?a=1&a=4&b=2&a=8&c=&d=xxx&e";function analyseUrl(url){if(url.indexOf("1") != -1){// 定义一个对象用于存储信息var obj = {};// 获取带有参数的部分var str = url.substr(url.indexOf("?") + 1);// 根据&进行首次分割,var firstArr = str.split("&");// 对数组进行遍历,对每一项根据进行=进行分割for(var i = 0; i < firstArr.length; i++){// 先判断是否存在=if(firstArr[i].indexOf("=") != -1){// 存在// 为了防止相同的覆盖,进行判断var secondArr = firstArr[i].split("=");if(obj[secondArr[0]]){// 已存在,判断是否是一个数组if(Array.isArray(obj[secondArr[0]])){obj[secondArr[0]].push(secondArr[1]);}else{var arrX = [obj[secondArr[0]]];arrX.push(secondArr[1]);obj[secondArr[0]] = arrX;}}else{//不存在,直接存入obj[secondArr[0]] = secondArr[1];}}else{// 不存在obj[firstArr[i]] = "undefined";}}return obj;}}console.log(analyseUrl(url));
解析url
原文地址:https://www.cnblogs.com/ylp0617/p/8343758.html