功夫码

js获取url参数值集合和获取某个参数的值的方法

晓峰 时间:2019-11-29 17:58:18 阅读:11
--------------------------------------------------------- Ta 只分享的内容开始 ---------------------------------------------------------------------

js获取url参数值集合和获取某个参数的值的方法

js 获取所有参数,以对象返回;

/**
 * [获取URL中的参数名及参数值的集合]
 * 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
 * @param {[string]} urlStr [当该参数不为空的时候,则解析该url中的参数集合]
 * @return {[string]}       [参数集合]
 */
function GetRequest(urlStr) {
    if (typeof urlStr == "undefined") {
        var url = decodeURI(location.search); //获取url中"?"符后的字符串
    } else {
        var url = "?" + urlStr.split("?")[1];
    }
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}
// 使用方法 
var parms_1 = GetRequest();
console.log(parms_1); 
// {"uid":"admin","rid":"1","fid":"2","name":"小明"}
console.log(parms_1['name']); // '小明'
var parms_2 = GetRequest('http://gongfumacom?uid=admin&rid=1&fid=2&name=小明');
console.log(parms_2); 
// {"uid":"admin","rid":"1","fid":"2","name":"小明"}
console.log(parms_2['name']); // '小明'

获取url地址上某一个参数的值

/**
 * [通过参数名获取url中的参数值]
 * 示例URL:http://gongfuma.com?uid=admin&rid=1&fid=2&name=小明
 * @param  {[string]} queryName [参数名]
 * @return {[string]}           [参数值]
 */
function GetQueryValue(queryName) {
    var query = decodeURI(window.location.search.substring(1));
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == queryName) { return pair[1]; }
    }
    return null;
}
// 使用方法
var queryVal=GetQueryValue('name');
console.log(queryVal);// 小明

通过正则匹配url地址的参数

/**
 * [通过参数名获取url中的参数值]
 * 示例URL:http://gongfuma.com?uid=admin&rid=1&fid=2&name=小明
 * @param  {[string]} queryName [参数名]
 * @return {[string]}           [参数值]
 */
function GetQueryValue1(queryName) {
    var reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if ( r != null ){
       return decodeURI(r[2]);
    }else{
       return null;
    }
 }
 // 使用方法
 var queryVal=GetQueryValue1('name');
 console.log(queryVal);// 小明


--------------------------------------------------------- Ta 只分享了这些内容 ---------------------------------------------------------------------

本文来源:功夫码(gongfuma.com)
声明:本文系功夫码原创稿件,版权属[功夫码 gongfuma.com]所有。
未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:功夫码",违者将依法追究责任。

相关文章

  • 回到顶部