獲取 url 并解析生成包含查詢串參數的對象

頁面的 URL 地址可以通過 location.url 取得,舉個例子,比如 https://www.example.com/path?name1=value1&name2=value2#top

這時根據 URL 中的 ?#& 特征字符,充分利用好 split() 字符串分割方法將整個 URL 逐漸剝離成以查詢串參數組成的數組,最后還是使用 split() 方法根據 = 字符分割出查詢串參數的 keyvalue

注意要對查詢串參數進行解碼(decode),因為 URL 中可能會有被編碼過的特殊字符。

// 通過 location.url 屬性獲取 url,下面是個示例
var url = 'https://www.example.com/path?name1=value1&name2=value2#top';
function parseQueryStr (url) {
  var arr = url.split('?'),
      res = {};
  if (!arr[1]) {
    return res;
  }
  var tempArr = arr[1].split('#')[0].split('&');
  tempArr.forEach(function (item) {
    var query = item.split('=');
    res[decodeURIComponent(query[0])] = decodeURIComponent(query[1]);
  });
  return res;
}
console.log(parseQueryStr(url));    // {name1: "value1", name2: "value2"}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、快捷鍵 ctr+b 執行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,858評論 2 16
  • 前言 最先接觸編程的知識是在大學里面,大學里面學了一些基礎的知識,c語言,java語言,單片機的匯編語言等;大學畢...
    oceanfive閱讀 3,129評論 0 7
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,268評論 0 4
  • 01 沒有人是一座孤島 沒有什么事情是孤立的,人也一樣。再獨立的人也需要交際,需要友誼。要想走的遠,那就結伴而行。...
    馬小奔aben閱讀 178評論 0 2
  • 文/瑤人柴 如果你愛我, 請主動聯系我, 我受不了冷落。 如果你愛我, 請不要曖昧, 真愛怎么會舍得曖昧。 如果你...
    瑤人柴閱讀 287評論 0 3