El problema no está con el replace, habría que ver el código completo, incluída la llamada a la función y paso de parámetros.
mirá este ejemplo
Código:
<!DOCTYPE html>
<html lang="es-ar">
<head>
<meta charset="utf-8" />
<title>Replace</title>
<script type="text/javascript">
//<![CDATA[
var value = "1,500";
var value2 = "2,500";
var newval = value.replace(/,/g, '');
var newval2 = value2.replace(/,/g, '');
alert(newval + newval2); // operación incorrecta, hasta ahora no dejan de ser strings
alert(parseInt(newval) + parseInt(newval2)); // operación correcta
//]]>
</script>
</head>
<body>
</body>
</html>
Además para evitar confusiones, si bien en este ejemplo fucniona igual, te recomiendo evitar utilizar palabras reservadas de js en los parámetros y variables
Código:
formatEx(valor,fila,indice){ // -- > SI
formatEx(value,row,index){ // --> NO
var valor = ... // SI
var value = ... // NO
Saludos