2010-02-28 26 views
7

Para una aplicación web que estoy creando, recibiré cadenas de texto, ocasionalmente que contienen comillas. Como voy a estar documentando la cadena, deben cambiarse en apóstrofos o escaparse. Cómo lo haría, porque cuando lo intento no parece funcionar, específicamente, creo que porque las comillas de la cadena detienen el resto del script.Reemplazar comillas en Javascript?

Espero que tenga algún sentido, soy bastante nuevo en esto, por eso es posible que no tenga sentido. Trataré de aclarar si es necesario. ¡Gracias!

+0

Qué idioma está escribiendo en la aplicación web? –

+0

@James Por favor agregue su código de ejemplo y mensaje de error a la pregunta. –

Respuesta

10

Si está generando cadenas de Javascript en el servidor, deberá escapar las comillas y ciertos otros caracteres.

\'  Single quotation mark 
\"  Double quotation mark 
\\  Backslash 
\b  Backspace 
\f  Form feed 
\n  New line 
\r  Carriage return 
\t  Horizontal tab 
\ddd Octal sequence (3 digits: ddd) 
\xdd Hexadecimal sequence (2 digits: dd) 
\udddd Unicode sequence (4 hex digits: dddd) 
+1

Entonces, si la cadena acaba de ser generada y no puedo cambiar lo que se genera, ¿cómo puedo escapar todas las comillas en esa cadena, supongo que es mi pregunta? ¡Gracias! –

1

tiene que escapar de ellos, así:

var foo = '\'foo\''; 

lo tanto, si la cadena de origen tiene comillas simples, reemplazar cada comilla simple con una barra y una comilla simple.

15

Escapar de ellos para HTML:

var escapedString = string.replace(/'/g, "'").replace(/"/g, """); 

ellos de escape por código JS:

var escapedString = string.replace(/(['"])/g, "\\$1"); 
Cuestiones relacionadas