完美的js URLEncode函数
完美的js URLEncode函数
当需要通过查询字符串传值给服务器时需要对get参数进行encode。
- escape()函数,不会encode
@*/+
(不推荐使用) - encodeURI()函数,不会encode
~!@#$&*()=:/,;?+'
(不推荐使用) - encodeURIComponent()函数,不会encode
~!*()
这个函数是最常用的
我们需要对encodeURIComponent函数,最一点修改:
function urlencode (str) {
str = (str + '').toString();
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}