encodeURI、encodeURIComponent、decodeURI、decodeURIComponent使用方法
原创
©著作权归作者所有:来自51CTO博客作者qq5945ef689245b的原创作品,请联系作者获取转载授权,否则将追究法律责任
encodeURI()
函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成)。
语法:encodeURI(URI) URI:一个完整的URI.
返回值:一个新字符串, 表示提供的字符串编码为统一资源标识符 (URI)。
encodeURI
会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列:
类型
| 包含
|
保留字符
| ; , / ? : @ & = + $ |
非转义的字符
| 字母 数字 - _ . ! ~ * ' ( ) |
数字符号
| # |
- encodeURIComponent:转义除了字母、数字、(、)、.、!、~、*、'、-和_之外的所有字符。
- decodeURI:函数解码一个由encodeURI 先前创建的统一资源标识符(URI)或类似的例程。
- decodeURIComponent:用于解码由encodeURIComponent方法或者其它类似方法编码的部分统一资源标识符(URI)。
encodeURI('?name=小 明&pwd=12 3') // "?name=%E5%B0%8F%20%E6%98%8E&pwd=12%203"
encodeURIComponent('?name=小 明&pwd=12 3') // "%3Fname%3D%E5%B0%8F%20%E6%98%8E%26pwd%3D12%203"
decodeURI('?name=%E5%B0%8F%20%E6%98%8E&pwd=12%203') // "?name=小 明&pwd=12 3"
decodeURI('%3Fname%3D%E5%B0%8F%20%E6%98%8E%26pwd%3D12%203') // "%3Fname%3D小 明%26pwd%3D12 3"
decodeURIComponent('%3Fname%3D%E5%B0%8F%20%E6%98%8E%26pwd%3D12%203') // "?name=小 明&pwd=12 3"