獲取url路徑中的參數


簡介

運用js的時候,我們有時可能會有這樣的需求,就是想要獲取瀏覽器地址欄指定的一項參數,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413&update=1,

你想要獲取postid的內容8628413,或者update的內容1那么下面就提供解決辦法。

解決辦法

其實解決辦法也挺簡單,只要通過一個函數就可以處理掉

//當前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參數傳進去就可以拿到返回值,注意參數為字符串

發散思維

上面的函數是直接解決了獲取當前頁面url中的參數,有事我們可能不是想要處理url,而是想要獲取特定字符串中的參數,形如:postid=8628413&update=1

然后你想要獲取postid的對應的值那么要怎么做呢?

只需要理解下上面函數的原理就很好改寫了

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM