JavaScript – Sostituisci tutte le virgole in una stringa

Ho una stringa con più virgole e il metodo di sostituzione delle stringhe cambierà solo il primo:

var mystring = "this,is,a,test" mystring.replace(",","newchar", -1) 

Risultato : "thisnewcharis,a,test"

La documentazione indica che il valore predefinito sostituisce tutto e che “-1” indica anche di sostituire tutto, ma non ha esito positivo. qualche idea?

Puoi usare RegExp con g flag.

 var mystring = "this,is,a,test" mystring.replace(/,/g , "newchar"); 

DEMO: http://jsfiddle.net/d4N9s/

Solo per divertimento:

 var mystring = "this,is,a,test" var newchar = '|' mystring = mystring.split(',').join(newchar); 
 var mystring = "this,is,a,test" mystring.replace(/,/g, "newchar"); 

Usa il flag globale ( g )

Semplice DEMO