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')) //参数三
努力到无能为力,拼搏到感动自己。
欢迎大家在下方多多评论。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2019-07-08 React和Redux的连接react-redux