2015-10-08 148 views
-1

我想在我的字符串一些特殊車型的字符解碼取代,HTML輸入之前。但是,由於某種原因,它不起作用。 對於前:HTML特殊字符不通過的Javascript

我的輸入字符串爲「安培13日\」。」

在JS,我用這個函數替換每個特殊字符:

htmlEntities: function(str) { 
    return str.replace(/\\/g, "\").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"","""); 
}, 

但是,當把它的HTML,它仍然是這樣的: 「安第13 \」。」

我想表明我替換爲特殊字符的數據。

我在做什麼錯了?

+0

[編碼URL在JavaScript?(可能的重複HTTP ://stackoverflow.com/questions/332872/encode-url-in-javascript) – ergonaut

+0

這取決於你如何把它放到你的HTML。 '''是HTML實體' '',所以把'''到HTML將呈現......你猜怎麼着?'''。 – deceze

+0

@deceze那麼,是否有任何方法把html特殊的sybmols lile我想做呢?或者它會被改變? – volodymyr3131

回答

0

。在你的字符串中的一個反斜槓這是不被認可爲「\」,而是它的一個轉義序列。其他角色正在被完美取代。我寫了下面的函數來相應地提醒輸出字符串。

function test() { 
     var str = "ampere 13th\'."; 
     alert(str.replace(/\\/g, "&#92").replace("'", "'").replace(".", ".").replace("%", "%").replace("\"", """)); 
    } 

它提醒我

ampere 13th'. 

這是除了更換 '\' 字符正確。如果你想替換'\',你可以進一步搜索如何替換java腳本中的反斜線字符。

,如果我有這樣的

var str = "ampere 13th\\'."; 

以兩個反斜槓輸入字符串,然後更換完美時,我的功能通知我

ampere 13th&#92'.