我尝试从URL中提取参数,但是一个参数含有空格,被替换为“+”,因此我提取的参数是“iphone+4”,但实际上应该是“iphone 4”,我该如何转换为第二种形式呢?decodeURIComponent在这里不起作用。
我尝试从URL中提取参数,但是一个参数含有空格,被替换为“+”,因此我提取的参数是“iphone+4”,但实际上应该是“iphone 4”,我该如何转换为第二种形式呢?decodeURIComponent在这里不起作用。
function decodeParameter(param) {
return decodeURIComponent(param.replace(/\+/g, ' '));
}
"iPhone+4".replace("+"," ");
这是一个模棱两可的事情,因为你不知道+
到底是空格还是实际的加号。如果你也负责创建URL,你可以使用适当的URL编码函数来解决这个问题,该函数将使用%20来编码空格。如果你只是从其他地方收集它们,那么你只能假设每个+
都表示一个空格 :)
你可以使用以下代码替换所有的+
:
your_text.replace(/\+/g," ");
escape
/unescape
已经弃用,但请看原始的响应日期;) - gion_13