2016-02-12 109 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"); 

對於雙引號

str = str.replace(/(["])/g, "\\$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("\\'");