javascript encodeURIComponent and converting spaces to + symbols

孤者浪人 提交于 2019-11-27 17:28:56

问题


I would like to encode my URL, but I want to convert spaces to plus symbols.

This is what I attempted to do...

var search = "Testing this here &";

encodeURIComponent(search.replace(/ /gi,"+"));

The output from that is Testing%2Bthis%2Bhere%2B%26 but what I would like it to be is Testing+this+here+%26 I tried replacing the space with %20 to convert it into a plus symbol, but that didn't seem to work. Can anyone tell me what it is I'm doing wrong here?


回答1:


encodeURIComponent(search).replace(/%20/g, "+");

What you're doing wrong here is that first you convert spaces to pluses, but then encodeURIComponent converts pluses to "%2B".




回答2:


You're using the wrong function. Use escape instead of encodeURIComponent.

var search = "Testing this here &";
console.log(escape(search.replace(/ /gi,"+")));​


来源:https://stackoverflow.com/questions/10857590/javascript-encodeuricomponent-and-converting-spaces-to-symbols

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!