js獲取url連結中的引數
url傳遞引數這是常識,這裡就不多介紹了,既然傳遞引數就要獲取引數的值,下面就介紹一下如何實現此功能。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼function request(paras){ var url="softwhy.com?a=1&b=2"; var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"); var paraObj={} for(var i=0;i<paraString.length;i++){ var j=paraString[i]; paraObj[j.substring(0,j.indexOf("=")).toLowerCase()]=j.substring(j.indexOf("=")+1,j.length); } var returnValue=paraObj[paras.toLowerCase()]; if(typeof(returnValue)=="undefined"){ return ""; } else{ return returnValue; } } console.log(request('a')); console.log(request('b'));
以上程式碼實現了我們想要的功能,能夠輸出指定的url中引數的值,下面簡單介紹一下實現過程。
一.實現原理:
原理其實非常的簡單,一句話就是在正確的位置擷取字串,首先擷取?以後的字串,然後再使用&分割這個字串生成陣列,然後再通過擷取字串的方式,將引數名稱和引數值作為鍵值對存入物件直接量,原理大致如此。
二.程式碼註釋:
1.function request(param){},獲取引數值得函式,引數為url中的傳遞的引數名稱。
2.var url="softwhy.com?a=1&b=2",將要獲取引數的url連結地址。
3.var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"),url.substring(url.indexOf("?")+1,url.length)先用這個擷取?以後的字元,然後再使用split()函式分割字串生成一個函式。
4.var paraObj={},宣告一個物件直接量。
5.for(var i=0;i<paraString.length;i++){},遍歷陣列中的每一個元素。
6.var j=paraString,將陣列中的元素賦值給j。
7.paraObj[j.substring(0,j.indexOf("=")).toLowerCase()]=j.substring(j.indexOf("=")+1,j.length),j.substring(0,j.indexOf("=")).toLowerCase()獲取的是url引數的名稱,j.substring(j.indexOf("=")+1,j.length)獲取引數值,這樣就是將引數名作為屬性名,引數值作為屬性值。
8.var returnValue=paraObj[param.toLowerCase()],指定屬性名稱的屬性值賦值給變數returnValue。
9.if(typeof(returnValue)=="undefined"){return ""},如果returnValue值為undefined,也就是說不存在,就返回空字元。
10.否則返回returnValue。
三.相關閱讀:
1.substring()函式可以參閱javascript substring()一章節。
2.indexOf()函式可以參閱javascript String indexOf()一章節。
3.split()函式可以參閱javascript split()一章節。
4.toLowerCase()函式可以參閱javascript toLowerCase()一章節。
相關文章
- js獲取url地址中的引數JS
- js獲取url引數JS
- js獲取url傳遞引數,js獲取url?號後面的引數JS
- Js獲取URL地址引數JS
- js實現獲取URL引數JS
- javascript獲取url連結引數例項程式碼JavaScript
- javascript獲取url連結傳遞的指定引數的值JavaScript
- js獲取帶#號連結後的引數JS
- Nodejs獲取url路徑中的各個引數NodeJS
- 獲取位址列url連結?後面傳遞的引數
- 【轉】AngularJs $location獲取url引數AngularJS
- js根據引數名獲取url上的引數值JS
- jquery獲取url引數jQuery
- java獲取url連線地址引數的工具類Java
- js如何獲取url所傳遞的引數和引數值JS
- JS獲取URL中引數值(QueryString)的4種方法分享JS
- 獲取url中?後面傳遞的引數
- js獲取內容中的url連結,並設定a標籤JS
- jQuery獲取url引數值jQuery
- 使用jquery獲取url及url引數的方法jQuery
- 三種方法實現:獲取 url 中的引數
- 獲取url傳遞的引數值
- as3獲取url地址的引數S3
- C#獲取URL引數值C#
- java 獲取URL連結 內容Java
- JavaScript獲取url傳遞的引數值JavaScript
- 使用js獲取url傳遞的引數值程式碼例項JS
- JavaScript 獲取 url 傳遞引數值JavaScript
- C# 解析獲取Url引數值C#
- javascript如何獲取url傳遞的引數值JavaScript
- Android筆記:獲取url或uri字串中的引數值Android筆記字串
- js獲取位址列的引數JS
- react獲取當前頁面的url引數React
- javascript獲取url引數程式碼例項JavaScript
- 獲取url網址傳遞的指定引數值
- javascript如何獲取連結引數程式碼例項JavaScript
- keycloak~RequiredActionProvider中獲取表單認證前URL的引數UIIDE
- jQuery獲取url引數值程式碼例項jQuery