js 獲取URL參數時中文出現亂碼狀態

function getQueryString(name) {   
      var reg = new RegExp( " (^|&) " + name + " = ([^&]*)(&|$) " );   
      var r = window.location.search.substr( 1 ).match( reg );   
      if( r != null ) return unescape( r[2] ); return null;   

}

在使用這個小插件的時候,url 中參數如果有中文的情況下,就會出現中文亂碼,通過查閱資料得知,瀏覽器默認使用的是 encodeURL 對漢字進行編碼的,所以在解碼的時候就需要使用 decodeURL 而不是上訴代碼中的 unescape,只要將上訴代碼中 unescape 修改爲 decodeURL 就可以解決中文亂碼問題了。

function getQueryString(name) {   
      var reg = new RegExp( " (^|&) " + name + " = ([^&]*)(&|$) " );   
      var r = window.location.search.substr( 1 ).match( reg );   
      if( r != null ) return decodeURL( r[2] ); return null;   

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章