本函数对字符串进行URL解码。例如通过urlencode编码后的字符串,可通过UrlDecode进行解码。对Url路径加码的函数是UrlEncode 用法相反,和UrlDecode是一致对应的·
URLEncode是这样编码的
1、数字和字母不变。
2、空格变为"+"号。
3、其他被编码成"%"加上他们的ascii的十六进制,规律是这样的
javascript编写的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); } //调用方法 var str = '%e7%90%bc%e5%8f%b0%e5%8d%9a%e5%ae%a2'; var destr = UrlDecode(str); console.log(destr);
//知识拓展
javascript fromCharCode()函数
定义和用法
可接受一个指定的 Unicode 值,然后返回一个字符串。
注意:该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。使用语法: String.fromCharCode()。
实例
将 Unicode 编码转换为一个字符串:
var n = String.fromCharCode(72,69,76,76,79);
n 输出结果:
HELLO
以上js写的urldecode函数及作用,感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!