根据这个:
http://en.wikipedia.org/wiki/Query_string#URL_encoding
" +"是一个有效的URL编码令牌。
如果是这样,为什么不能decodeURIComponent
或decodeURI
解码" hello + world" to" hello world"?
如果" +"是有效的,当然,JavaScript中必须有一个内置函数可以转换" hello + world" to" hello world"?
答案 0 :(得分:1)
The behavior of decideURIComponent
is defined as encodeURIComponent
的“反向”操作:
decodeURIComponent
函数计算URI
的新版本,其中encodeURIComponent
函数可能引入的排序的每个转义序列和UTF-8编码将替换为encodeURIComponent
函数。它代表的角色。
并且+
不会将空格替换为%20
,而是替换为decodeURI
。
(类似于"hello+world".replace(/\+/g, ' ');
)
如果“+”有效,肯定有一个JavaScript中的内置函数可以将“hello + world”转换为“hello world”吗?
当然有:
{{1}}
答案 1 :(得分:0)
由于encodeURIComponent
会将空格编码为%20
,因此您将获得hello%20world
。如果您想替换+
个字符,我建议使用正则表达式