一、介绍
1. encodeURI、decodeURI:
替换目标:将字符替换为 HTML URL编码
替换范围: A-Z a-z 0-9 - _ . ! ~ * ‘ ( ) / ? : @ & = + $ # 不替换,其他都替换。
encodeURI("ABC abc 123") //ABC%20abc%20123 decodeURI("ABC%20abc%20123") //ABC abc 123
2.encodeURIComponent、decodeURIComponent:
替换范围: A-Z a-z 0-9 - _ . ! ~ * ‘ ( ) 不替换,其他都替换。
var set1 = ";,/?:@&=+$"; var set2 = "-_.!~*‘()"; var set3 = "#"; var set4 = "ABC abc 123"; console.log(encodeURIComponent(set1)); //%3B%2C%2F%3F%3A%40%26%3D%2B%24 console.log(encodeURIComponent(set2)); // -_.!~*‘() console.log(encodeURIComponent(set3)); // %23 console.log(encodeURIComponent(set4)); // ABC%20abc%20123 (the space gets encoded as %20)
二、范围区别:encodeURIComponent的替换字符 > encodeURI的替换字符
1.encodeURIComponent会替换: / ? : @ & = + $ #
2.encdoeURI不会替换: / ? : @ & = + $ #
var set1 = ";,/?:@&=+$"; // Reserved Characters var set2 = "-_.!~*‘()"; // Unescaped Characters var set3 = "#"; // Number Sign var set4 = "ABC abc 123"; // Alphanumeric Characters + Space console.log(encodeURI(set1)); // ;,/?:@&=+$ console.log(encodeURI(set2)); // -_.!~*‘() console.log(encodeURI(set3)); // # console.log(encodeURI(set4)); // ABC%20abc%20123 (the space gets encoded as %20) console.log(encodeURIComponent(set1)); // %3B%2C%2F%3F%3A%40%26%3D%2B%24 console.log(encodeURIComponent(set2)); // -_.!~*‘() console.log(encodeURIComponent(set3)); // %23 console.log(encodeURIComponent(set4)); // ABC%20abc%20123 (the space gets encoded as %20)
encodeURI和uncodeURIComponent的介绍
原文:https://www.cnblogs.com/wenwenwei/p/10402877.html