JS中解析URL的簡單方法

在web應用中解析URL并不容易。你可以加入一個第三方parse庫或是引入polyfill然后使用處于Living standard的URL API,但如果只是一個簡單的應用場景就不值得為此大費周章了,在github上有人分享了這么一個簡單快捷的方法

var parser = document.createElement('a');    
parser.;    

parser.protocol; // => "http:"    
parser.hostname; // => "example.com"    
parser.port;     // => "3000"    
parser.pathname; // => "/pathname/"    
parser.search;   // => "?search=test"    
parser.hash;     // => "#hash"    
parser.host;     // => "example.com:3000"    

夠簡潔的吧?不過這個方法也有幾個問題:

  • 只適用于web場景

  • 如果需要解析search部分(問號之后到hash之前的部分)的話,還是需要手動解析

這里貼出我寫的解析search部分的代碼:

var getSearchParams = function(search) {
  var paramPart = search.substr(1).split('&');
  return paramPart.reduce(function(res, item) {
    parts = item.split('=');
    res[parts[0]] = parts[1];
    return res;
  }, {});
}

它將返回一個{key: value, ..}的對象,方便進一步處理這些參數。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 發(fā)現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,043評論 4 61
  • 已經同步到gitbook,想閱讀的請轉到gitbook: Django 1.10 中文文檔 URL dispatc...
    leyu閱讀 14,417評論 0 16
  • 小城里的冬天充滿著油煙味兒,各種小吃攤冒著熱氣兒,在溫暖這個冰涼的冬天。好難得有一種狀態(tài),跟自己聊會兒天,靜一靜。...
    WinstonLennon閱讀 132評論 0 0
  • 當小孩時,你會想快快長大;現在,當一名觀眾,你會想什么呢? 2017.08.30 星期三 晴 01 “萌...
    飛飛丫閱讀 384評論 0 2

友情鏈接更多精彩內容