JavaScript - Заменить все запятые в строке

У меня есть строка с несколькими запятыми, и метод замены строки изменит только первый:

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

Результат: "thisnewcharis,a,test"

Документация указывает, что значение по умолчанию заменяет все, и что "-1" также указывает на замену всех, но оно не увенчалось успехом. Любые мысли?

Ответ 1

Вы можете использовать RegExp с флагом g.

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

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

Ответ 2

Просто для удовольствия:

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

Ответ 3

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

Использовать глобальный флаг (g)

Простая DEMO