2010-02-28 8 views
7

Pour une application web que je suis en train de créer, je vais recevoir des chaînes de caractères, parfois avec des guillemets. Parce que je vais ensuite être document.writing la chaîne, ils doivent être changés soit en apostrophes ou échappés. Comment est-ce que je ferais cela, parce que quand j'essaye cela ne semble pas fonctionner, spécifiquement je pense parce que les guillemets de la chaîne arrêtent le reste du manuscrit fonctionnant. J'espère que cela a du sens, je suis assez nouveau à ce sujet, c'est pourquoi il pourrait ne pas avoir de sens. Je vais essayer de clarifier si besoin est. Je vous remercie!Remplacer des guillemets en Javascript?

+0

Quelle langue écrivez-vous l'application web? –

+0

@James Veuillez ajouter votre exemple de code et votre message d'erreur à la question. –

Répondre

10

Si vous générez des chaînes Javascript sur le serveur, vous devrez éviter les guillemets et certains autres caractères.

\'  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

Donc, si la chaîne vient d'être générée et que je ne peux pas changer ce qui est généré, comment puis-je alors échapper toutes les citations dans cette chaîne je suppose que c'est ma question? Merci! –

1

Vous devez leur échapper comme ceci:

var foo = '\'foo\''; 

Donc, si la chaîne source a des guillemets simples, remplacer chaque guillemet simple avec une barre oblique et une seule citation.

15

les Échapper pour HTML:

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

les Échapper pour le code JS:

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