近期在做广告请求的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”}
部分资源参考自网络