JS獲取URL傳的值與解決獲取URL中的中文參數出現亂碼

你們好,我是小C,html

咱們在項目開發中有時須要頁面與頁面之間的傳值,那咱們可能會選擇用地址欄傳遞參數,那另外的那個頁面就須要獲取地址欄裏的參數,今天分享下關於地址欄怎麼傳遞參數與獲取中文參數出現亂碼的解決方法。請看代碼:url

 1 /**
 2  * 取地址欄的參數
 3  * 
 4  * @param key 
 5  * key爲傳遞的參數名稱 例如 http://localhost/test/test.html?id=1&name=張三,key就是id和name
 6  *
 7  * @returns
 8  */
 9 function getUrlParam(key){
10     // 獲取參數,取到的是一串帶參數的字符串,如:?id=1&name=張三
11     var url = window.location.search;        
12     // 用正則篩選地址欄
13     var reg = new RegExp("(^|&)"+ key +"=([^&]*)(&|$)");
14     // 匹配目標參數
15     var result = url.substr(1).match(reg);
16     //返回參數值
17     return result ? decodeURIComponent(result[2]) : null;
18 }

知道上面這個代碼的原理,那用起來就顯得很簡單了,當咱們須要獲取地址欄參數的時候,能夠直接調用方法 getUrlParam(key) 就能夠了,而且很好的解決了中文參數的亂碼問題。你們能夠動手試試結果:spa

getUrlParam("id")   // 結果是 1
getUrlParam("name")  // 結果是 張三  

有不足的地方,請多多指教。code

相關文章
相關標籤/搜索