2013-06-27 51 views
1

我:如何在Javascript中編碼字符?

function showMessage(message) { 
    alert(message); 
} 

但是當消息從服務器動態地來(例如):「男性」這是行不通的。

我已經試過:

function myEncode(message) { 
    return message.replace("'", "\'"); 
} 

showMessage(myEncode(message)); 

似乎並沒有工作。這是一個簡單的例子,實際的代碼更復雜,但本質上這是問題。

+1

很好看的:http://en.wikipedia.org/wiki/JSON – elclanrs

+3

我想你的問題是,您的服務器生成的代碼產生類似'showMessage(myEncode( '男子'))'?所以你的JavaScript在此時已經被破解 - 所以如果你已經有了一個JS語法錯誤,試着在JavaScript中替換一些東西當然是沒有意義的(D'oh!)。在服務器端代碼中進行轉義_before_您將該值作爲JS字符串值輸出。 – CBroe

+0

是的,它實際上來自服務器端。 – Mythul

回答

1

您應該指定g參數,用於全局替換(不僅是第一次匹配)。

你也應該逃避斜線:

function myEncode(message) { 
    return message.replace(/'/g, "\\'"); 
} 
+0

這只是用''替換''''你需要寫''\\'「' –

+0

@ t.niese謝謝,修正。 –

相關問題