欢迎你的到此一游,在查看的过程中有疑问可在主页添加博主咨询,也可在下方评论留言。

js获取地址栏的几种方法

1 // 方法一   
 2         var strHref = "http://网址ip/index.html?a=参数1&b=参数二&c=参数三"
 3         var intPos = strHref.indexOf("?")
 4         console.log(intPos) // 22
 5         var strRight = strHref.substr(intPos + 1)
 6         // var strRight = strHref.split("?")[1]
 7         // console.log(strHref.split("?")[1]) // a=参数1&b=参数二&c=参数三
 8         console.log(strRight) // a=参数1&b=参数二&c=参数三
 9         var arrTmp = strRight.split('&')
10         console.log(arrTmp) //["a=参数1", "b=参数二", "c=参数三"]
11         var arr = []
12         for (var i = 0 ; i < arrTmp.length; i++) {
13             var arrTemp = arrTmp[i].split('=')
14             var obj = {}
15             obj[arrTemp[0]] = arrTemp[1]
16             arr.push(obj)
17             console.log(arrTemp) //["a", "参数1"],["b", "参数二"],["c", "参数三"]
18         }
19         console.log(arr) //  [{a: "参数1"}, {b: "参数二"}, {c: "参数三"}]

 

 1 // 方法二
 2 function GetQueryString (name) {
 3   var strHref = "http://网址ip/index.html?a=参数1&b=参数二&c=参数三"
 4   var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)")
 5 //   var r = window.location.search.substr(1).match(reg)
 6   var r = strHref.substr(1).match(reg)
 7 //   if (r !== null && r.toString().length > 1) {
 8   if (r !== null) {
 9     return r[2]
10   } else {
11     return null
12   }
13 }
14 console.log(GetQueryString('a')) // null
15 console.log(GetQueryString('b')) //参数二
16 console.log(GetQueryString('c')) //参数三
17 
18 function getQueryString (name) {
19   var strHref = "http://网址ip/index.html?a=参数1&b=参数二&c=参数三"
20 //   var strHref = window.localtion.search
21   // if(strHref.index('?') === -1) {return null} // 如果没有传参数直接返回null
22   // key存在先通过search取值 如果取不到就通过hash来取
23   strHref = strHref.substr(1) || strHref.split("?")[1]
24 //   strHref = strHref.substr(1) || window.location.hash.split("?")[1]
25     if (strHref) {
26         var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)")
27         var r = strHref.match(reg)
28         if (r != null) {
29             return r[2]
30         } else {
31             return null
32         }
33     }
34 }
35 console.log(getQueryString('a')) // null
36 console.log(getQueryString('b')) //参数二
37 console.log(getQueryString('c')) //参数三

 

posted @ 2020-07-08 15:00  廖客  阅读(2580)  评论(0编辑  收藏  举报