URL查询字符串与JS对象互转

formatUrlQuery: function (...urlQuerys) {
    let result = {};
    urlQuerys.forEach((urlQuery) => {
        if (typeof urlQuery == 'object') {
            Object.assign(result, urlQuery);
        } else {
            Object.assign(result, sefa.parseUrlQuery(urlQuery));
        }
    });

    const sdata = [];
    for (let attr in result) {
        sdata.push(`${attr}=${encodeURIComponent(result[attr])}`);
    }

    return sdata.join('&');
}

 

parseUrlQuery: function (url) {
    url = url || '';
    let obj = {};
    let reg = /([^?=&]+)=([^?=&]+)/g;
    url.replace(reg, function () {
        obj[arguments[1]] = decodeURIComponent(arguments[2]);
    });
    return obj;
}

 

posted @ 2023-05-07 18:29  MADE.BEER  阅读(7)  评论(0编辑  收藏  举报