獲取url路徑中的參數

 

簡介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'))
相關文章
相關標籤/搜索