这应该是一个简单的任务,但是我似乎找不到解决方案。
我有一个基本字符串,它像这样被传递为查询字符串参数:This+is+a+message+with+spaces。我想使用JavaScript将该参数解码This is a message with spaces,但是似乎无法解码。
This+is+a+message+with+spaces
This is a message with spaces
我已经尝试过,decodeURI('This+is+a+message+with+spaces')但是结果仍然包含+迹象。
decodeURI('This+is+a+message+with+spaces')
+
是的,decodeURIComponent函数不会将+转换为空格,这是事实。因此,您必须使用替换功能替换+。
理想情况下,以下解决方案有效。
var str_name = 'This+is+a+message+with+spaces'; decodeURIComponent((str_name + '').replace(/\+/g, '%20'));