在我们平时的开发中,经常会出现一些无效的URI,什么是无效的URI呢?比如说包含空格,冒号,等号等,会影响解析。这时候我们就需要encodeURI或者encodeURIComponent()方法出动了。
encodeURI
会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列:
类型 | 包含 |
保留字符 | ; , / ? : @ & = + $ |
非转义的字符 | 字母 数字- _ . ! ~ * ' ( ) |
数字符号 | # |
encodeURIComponent
转义除了字母、数字、(
、)
、.
、!
、~
、*
、'
、-
和_
之外的所有字符。
我觉得这两个方法之间相差不大,用的更广泛的是encodeURIComponent()方法,因为在实践中我们更多的是对查询字符串进行编码而不是基础URI。
以上。
欢迎来到我的个人博客来互相讨论技术:http://www.strivingtree.com/