Agradeceríamos tu apoyo para difundir nuestras secciones referente a las ciencias informáticas.
Solución:
La cosa es que .replace()
no modifica la string en sí mismo, por lo que debe escribir algo como:
strInputString = strInputString.replace(...
También parece que no estás escapando correctamente. Lo siguiente funcionó para mí:
strInputString = strInputString.replace(/'/g, "\'");
Mejor para usar JSON.stringify()
para cubrir todas sus bases, como barras invertidas y otros caracteres especiales. Aquí está su función original con eso en su lugar en lugar de modificar strInputString
:
function testEscape()
var strResult = "";
var strInputString = "fsdsd'4565sd";
var strTest = "strResult = " + JSON.stringify(strInputString) + ";";
eval(strTest);
alert(strResult);
(De esta manera su strInputString
podría ser algo como \'"'"''\abc'
y seguirá funcionando bien).
Tenga en cuenta que agrega sus propias comillas dobles circundantes, por lo que ya no necesita incluir comillas simples.
estoy de acuerdo en que esto var formattedString = string.replace(/'/g, "\'");
funciona muy bien, pero como usé esta parte del código en PHP con el framework Prado (puedes registrar el script js en una clase de PHP) necesitaba que esta muestra funcionara entre comillas dobles.
La solución que funcionó para mí es que necesitas poner tres y escapar de las comillas dobles.
"var string = "l'avancement";
var formattedString = string.replace(/'/g, "\'");"
Respondo esa pregunta ya que tuve problemas para encontrar que tres fue el trabajo alrededor.