8

私が作成している Web アプリでは、引用符を含むテキスト文字列が届くことがあります。次に文字列を document.writing するので、文字列をアポストロフィに変更するか、エスケープする必要があります。具体的には、文字列の引用符が残りのスクリプトの動作を停止しているためだと思います。

それが理にかなっていることを願っています。私はこれにまったく慣れていないので、意味がないかもしれません。必要に応じて明確にしようと思います。ありがとうございました!

4

4 に答える 4

18

HTML 用にエスケープする:

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

JS コード用にエスケープする:

var escapedString = string.replace(/(['"])/g, "\\$1");
于 2010-02-28T16:48:23.933 に答える
11

サーバー上で Javascript 文字列を生成する場合は、引用符やその他の特定の文字をエスケープする必要があります。

\'      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)   
于 2010-02-28T15:54:53.427 に答える
1

あなたはそのようにそれらを脱出する必要があります:

var foo = '\'foo\'';

したがって、ソース文字列に一重引用符が含まれている場合は、各一重引用符をスラッシュと一重引用符に置き換えます。

于 2010-02-28T15:57:56.120 に答える