2016-02-12 7 views
6

バックスラッシュを含む文字列内のすべての引用符をエスケープして、Javascriptエラーが発生しないようにするために必要な処理。エスケープシングルクォートとダブルクォート - JQueryまたはJavascript

このようないくつかの事 -

This is 'just a" test string. 

結果はする必要があります -

This is \'just a\" test string. 
+0

私は理解できません:既に存在する文字列を変更する方法を尋ねているようで、実際にはJS変数にある値に.replace()を実行する答えを受け入れました。しかし、なぜその時点で必要なのは避けていますか?あなたは* "彼らはJavascriptのエラーを発生させないように" *と言ったが、何が原因でエラーが発生する可能性がありますか?引用符をエスケープするという概念は、通常、文字列リテラルにのみ関係します。 – nnnnnn

答えて

7

シングルのためにダブル

str = str.replace(/(["])/g, "\\$1"); 
012を引用するために

str = str.replace(/(['])/g, "\\$1"); 

を引用

私はあなたが1つの文字列に両方を取得する方法がわからないのシングルとダブルの両方が

str = str.replace(/(['"])/g, "\\$1"); 
+1

素敵...それは働いた:-)おかげでたくさん...あなたは素晴らしいです –

2

を引用するために:)、しかし、あなたはこの

var str = "This is 'just a test string."; 
str = str.split("'").join("\\'"); \\outputs "This is \'just a test string." 

同様

var str = 'This is "just a test string.'; 
str = str.split("\"").join("\\\""); \\outputs "This is \"just a test string." 

を試してみてください両方を組み合わせることができます

str = str.split("\"").join("\\\"").split("'").join("\\'"); 
関連する問題