JavaScript URLdecode函數

JavaScript中urldecode有相應的函數,使用方便。但urldecode就需要一些處理,直接上代碼

function UrlDecode(zipStr){ 
  var uzipStr = ''; 
  for (var i = 0; i < zipStr.length; i += 1) {
    var chr = zipStr.charAt(i); 
    if (chr === '+') { 
      uzipStr += ' ';
    } else if (chr === '%') { 
      var asc = zipStr.substring(i + 1, i + 3); 
      if (parseInt('0x' + asc) > 0x7f) {
        uzipStr += decodeURI('%' + asc.toString() + zipStr.substring(i+3, i+9).toString()); 
        i += 8;
      }else{ 
        uzipStr += AsciiToString(parseInt('0x' + asc)); 
        i += 2;
      } 
    }else{ 
      uzipStr += chr; 
    } 
  } 

  return uzipStr; 
} 
 
function StringToAscii(str){ 
  return str.charCodeAt(0).toString(16); 
}

function AsciiToString(asccode){ 
  return String.fromCharCode(asccode); 
}

以上代碼其實就是把一些特殊字符做處理,主要用到String.charAt()函數,使用方法

var str = '%e7%90%bc%e5%8f%b0%e5%8d%9a%e5%ae%a2';
var destr = UrlDecode(str);
console.log(destr); // Output:

轉自https://www.qttc.net/244_javascript_urldecode.html

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