js快速解析url参数

108 阅读1分钟

方法1 使用JavaScript提供的 URLSearchParams

  function urlParamsToObject(url) {
    const params = new URLSearchParams(url.search);
    console.log(params); 
    const paramObj = {};
    for (let [key, value] of params) {
      paramObj[key] = decodeURIComponent(value);
    }
    return paramObj;
  }
  
  // 使用示例
  const url = new URL('https://example.com/?age=18&name=皎月&gender=girl');
  const paramsObj = urlParamsToObject(url);
  console.log(paramsObj);

方法2 使用split() 将URL字符串分割

function urlParamsToObject(url) {
    //获取字符串 ? 后面的部分
    const queryString = url.split('?')[1];
    const paramsArr = queryString.split('&');
    const paramObj = {};
  
    paramsArr.forEach(param => {
      const [key, value] = param.split('=');
      paramObj[key] = decodeURIComponent(value);
    });
  
    return paramObj;
  }
  
  // 使用示例
  const url = 'https://example.com/?age=18&name=皎月&gender=girl';
  const paramsObj = urlParamsToObject(url);
  console.log(paramsObj);