將url中的指定引數替換的javascript程式碼例項
在實際應用中,可能需要替換url中引數的內容,下面就是一段能夠實現此功能的程式碼例項,寄希望能夠幫到有類似需求的朋友。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function parseURL(url){ var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':', ''), host: a.hostname, port: a.port, query: a.search, params: (function () { var ret = {}, seg = a.search.replace(/^\?/, '').split('&'), len = seg.length, i = 0, s; for (; i < len; i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1], hash: a.hash.replace('#', ''), path: a.pathname.replace(/^([^\/])/, '/$1'), relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1], segments: a.pathname.replace(/^\//, '').split('/') }; } //替換myUrl中的同名引數值 function replaceUrlParams(myUrl, newParams) { for (var x in newParams) { var hasInMyUrlParams = false; for (var y in myUrl.params) { if (x.toLowerCase() == y.toLowerCase()) { myUrl.params[y] = newParams[x]; hasInMyUrlParams = true; break; } } //原來沒有的引數則追加 if (!hasInMyUrlParams) { myUrl.params[x] = newParams[x]; } } var _result = myUrl.protocol + "://" + myUrl.host + ":" + myUrl.port + myUrl.path + "?"; for (var p in myUrl.params) { _result += (p + "=" + myUrl.params[p] + "&"); } if (_result.substr(_result.length - 1) == "&") { _result = _result.substr(0, _result.length - 1); } if (myUrl.hash != "") { _result += "#" + myUrl.hash; } return _result; } //輔助輸出 function w(str){ console.log(str); } var myURL = parseURL('http://softwhy.com:8080/dir/index.html?id=255&m=hello#top'); w("myUrl.file = " + myURL.file) w("myUrl.hash = " + myURL.hash) w("myUrl.host = " + myURL.host) w("myUrl.query = " + myURL.query) w("myUrl.params = " + myURL.params) w("myUrl.path = " + myURL.path) w("myUrl.segments = " + myURL.segments) w("myUrl.port = " + myURL.port) w("myUrl.protocol = " + myURL.protocol) w("myUrl.source = " + myURL.source) var _newUrl = replaceUrlParams(myURL, { id: 101, m: "World", page: 1,"page":2 }); w("修改後的url:") w(_newUrl);
相關文章
- 用javascript替換URL中的引數值JavaScript
- javascript獲取url引數程式碼例項JavaScript
- 獲取url傳遞的指定引數值程式碼例項
- javascript獲取url連結引數例項程式碼JavaScript
- javascript擷取指定位數的小數程式碼例項JavaScript
- javascript將字串轉換為整數程式碼例項JavaScript字串
- javascript將物件轉換為數字程式碼例項JavaScript物件
- 給url傳遞的引數值編碼程式碼例項
- jQuery獲取url引數值程式碼例項jQuery
- javascript生成指定位數隨機數程式碼例項JavaScript隨機
- javascript如何替換字串中的指定內容JavaScript字串
- 使用js獲取url傳遞的引數值程式碼例項JS
- javascript將字串中的多個空格替換為一個空格的正則例項JavaScript字串
- 將url傳遞的引數值以json格式物件方式返回程式碼例項JSON物件
- javascript將數字轉換為十六進位制程式碼例項JavaScript
- javascript計算指定數字的幾次方程式碼例項JavaScript
- javascript遮蔽指定鍵盤例項程式碼JavaScript
- javascript將字串轉換為陣列程式碼例項JavaScript字串陣列
- javascript將數字轉換為二進位制形式程式碼例項JavaScript
- location.search獲取url傳遞引數程式碼例項
- bash 引數替換中的模式匹配模式
- javascript刪除指定索引的陣列程式碼例項JavaScript索引陣列
- javascript將引數轉換為數值程式碼詳解JavaScript
- js將小數轉換為整數程式碼例項JS
- jQuery實現的將指定元素中的內容替換jQuery
- javascript如何獲取連結引數程式碼例項JavaScript
- replace()方法替換字串內容程式碼例項字串
- js將字串轉換為數字程式碼例項JS字串
- javascript獲取url連結傳遞的指定引數的值JavaScript
- javascript刪除指定子元素程式碼例項JavaScript
- javascript生成指定行列table表格程式碼例項JavaScript
- javascript的for in例項程式碼JavaScript
- js字串中替換指定的的字元JS字串字元
- 刪除陣列中的指定元素例項程式碼陣列
- javascript將字串轉換為十六進位制程式碼例項JavaScript字串
- javascript將類陣列轉換為陣列程式碼例項JavaScript陣列
- javascript將陣列中的元素連線成字串程式碼例項JavaScript陣列字串
- javascript刪除陣列指定值程式碼例項JavaScript陣列