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: 琼台博客

支持中文解码!

分享

TITLE: JavaScript URLdecode函数

LINK: https://www.qttc.net/244-javascript-urldecode.html

NOTE: 原创内容,转载请注明出自琼台博客