JS對HTML實體字元轉義和反轉義

2022-05-03 03:36:09 字數 1347 閱讀 7780

一、名詞解釋

html實體字元:

由於在html中有些符號是預留的,比如在html中不能直接使用尖括號(『<』或『>』),會被誤認為標籤符號。所以需要通過html實體字元去進行替換;

html實體字元兩種形式:

eg:小於號的html實體字元顯示方式

數字形式:<

實體名形式:<

注意:使用實體名而不是數字的好處是,名稱易於記憶。不過壞處是,瀏覽器也許並不支援所有實體名稱(對實體數字的支援卻很好)。

二、常見html實體字元

注釋:實體名稱大小寫敏感!!!

顯示結果 描述 實體名稱 實體編號

空格    

< 小於號 < <

> 大於號 > >

& 與號 & &

" 雙引號 " "

' 單引號 '(ie不支援) '

全部html實體字元表,請檢視

三、轉義實用場景-預防xss攻擊

什麼是xss攻擊

向頁面中植入惡意html或者惡意指令碼,並且使頁面提供給其他使用者使用。

四、轉義、反轉義html實體字元

/*

* * 把html轉義成html實體字元

* @param str

* @returns

* @constructor */

function

htmlencode(str)

s = str.replace(/&/g, "&");

s = s.replace(/);

s = s.replace(/>/g, ">");

s = s.replace(/ /g, " ");

s = s.replace(/\'/g, "'");//

ie下不支援實體名稱

s = s.replace(/\"/g, """);

returns;}

/** * 轉義字元還原成html字元

* @param str

* @returns

* @constructor */

function

htmlrestore(str)

s = str.replace(/&/g, "&");

s = s.replace(/);

s = s.replace(/>/g, ">");

s = s.replace(/ /g, " ");

s = s.replace(/'/g, "\'");

s = s.replace(/"/g, "\"");

return

s;}

前段,js轉義html實體

function htmlencode value html解碼獲取html實體 function htmldecode value 借助text 和html 函式來轉譯htmltext 方法獲取 設定的是匹配元素的文字內容,且會將html中的預留字元 如大於號 轉換成html字元實體,以便於正確顯...

js對HTML字元轉義與反轉義

注意 在編寫html時,經常需要轉義,才能正常顯示在頁面上。並且,還可以防止xss。解決方案 一,使用正則 使用正則轉碼 var value document.getelementbyid input value.trim 對使用者輸入進行轉義 value value.replace g,value...

HTML字元實體) 轉義字串

html中,等有特殊含義 用於鏈結籤,用於轉義 不能直接使用。這些符號是不顯示在我們最終看到的網頁裡的,那如果我們希望在網頁中顯示這些符號,該怎麼辦呢?這就要說到html轉義字串了 轉義字串 escape sequence 也稱字元實體 character entity 在html中,定義轉義字串的...