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?
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".
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