escape - Escapar cadenas en JavaScript
sanitize string javascript (4)
También puedes probar esto para las comillas dobles:
JSON.stringify(sDemoString).slice(1, -1);
JSON.stringify(''my string with "quotes"'').slice(1, -1);
¿JavaScript tiene una función incorporada como la función addslashes
(o addslashes
de PHP para agregar barras invertidas a los caracteres que necesitan escaparse en una cadena?
Por ejemplo, esto:
Esta es una cadena de demostración con ''comillas simples'' y "comillas dobles".
...se convertiría:
Esta es una cadena de demostración con / ''comillas simples /' y / "comillas dobles /".
Una variación de la función provista por Paolo Bergantino que trabaja directamente en String:
String.prototype.addSlashes = function()
{
//no need to do (str+'''') anymore because ''this'' can only be a string
return this.replace(/[//"'']/g, ''//$&'').replace(//u0000/g, ''//0'');
}
Al agregar el código de arriba en su biblioteca, podrá hacer lo siguiente:
var test = "hello single '' double /" and slash // yippie";
alert(test.addSlashes());
EDITAR:
A raíz de las sugerencias en los comentarios, quien esté preocupado por los conflictos entre las bibliotecas de JavaScript puede agregar el siguiente código:
if(!String.prototype.addSlashes)
{
String.prototype.addSlashes = function()...
}
else
alert("Warning: String.addSlashes has already been declared elsewhere.");
Usa encodeURI ()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI
Se escapa de casi todos los personajes problemáticos en cadenas para una correcta codificación y tránsito JSON para su uso en aplicaciones web. No es una solución de validación perfecta, pero capta la fruta que está a la altura.
http://locutus.io/php/strings/addslashes/
function addslashes( str ) {
return (str + '''').replace(/[//"'']/g, ''//$&'').replace(//u0000/g, ''//0'');
}