javascriptregexreplaceencodeuricomponent

javascript encodeURIComponent and converting spaces to + symbols


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?


Solution

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