簡介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'))