js处理url的参数问题

 

近期在做广告请求的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”}

 

部分资源参考自网络

 

Author: thinkwei

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注