简介javascript
运用js的时候,咱们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413&update=1,html
你想要获取postid的内容8628413,或者update的内容1,那么下面就提供解决办法。java
解决办法浏览器
其实解决办法也挺简单,只要经过一个函数就能够处理掉函数
//当前url地址栏 file:///C:/Users/admin/Desktop/test.html?id=2 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); console.log(window.location.search)//?id=2 var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } console.log(GetQueryString('id'))//2
上面函数的用法很简单,只要把你想要的url参数传进去就能够拿到返回值,注意参数为字符串post
发散思惟url
上面的函数是直接解决了获取当前页面url中的参数,有事咱们可能不是想要处理url,而是想要获取特定字符串中的参数,形如:postid=8628413&update=1spa
而后你想要获取postid的对应的值那么要怎么作呢?code
只须要理解下上面函数的原理就很好改写了htm
function GetQueryString(str,name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //str = postid=8628413&update=1 //其实str 就至关于 window.location.search.substr(1) var r = str.match(reg); if (r != null) return unescape(r[2]); return null; } console.log(GetQueryString('postid=8628413&update=1','postid'))