近期在做广告请求的API,其中用到了js来处理url的请求链接的参数部分。
想从url中取出参数param,类似key=value的样子;
写了个小函数来获取请求的参数getRequestObj(),如下:
function getRequestObj(urlStr) { if(urlStr.indexOf('http')!==0) return false;//判断是否是url字符串,可自行改造 var searchStrStart = urlStr.indexOf('?') + 1; var searchStr = urlStr.substring(searchStrStart, urlStr.length); //获取url中"?"符后的字串参数 var requestObj = new Object(); if (searchStrStart !== 0) { var partsArr = searchStr.split("&"); for(var i = 0; i < partsArr.length; i ++) { var minArr = partsArr[i].split("="); requestObj[minArr[0]] = minArr[1]; } } if(Object.getOwnPropertyNames(requestObj).length===0) return false;//判断是否有参数 return requestObj; } var url = 'http://jeeinn.com?name=jeeinn&sex=boy&age=unkonw'; console.log(getRequestObj(url));
结果:
{name: “jeeinn”, sex: “boy”, age: “unkonw”}
部分资源参考自网络