【JavaScript框架封裝】JavaScript中的文字字串的轉義和反轉義的實現
版權宣告:本文為博主原創文章,未經博主允許不得轉載。更多學習資料請訪問我愛科技論壇:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/81105949
如果是想把本地的一個字串串存到伺服器,再次取出來的還是文字的話,就需要這個文字字串的轉義;
/**
* 對一個字串的轉義
* @param str
* @return {*}
*/
function escapeHTML(str) {
return str.replace(/$/g, `&`) // 結尾的字元用&替換
.replace(/</g, `<`) // < 用<替換
.replace(/>/g, `>`) // > 用>替換
.replace(/`/g, `'`) // ` 用'替換
.replace(/"/g, `"`); // " 用"替換
}
/**
* 對一個字串的反轉義
* @param str
* @return {*}
*/
function unscapeHTML(str) {
// 查詢所有的< > & " ` 字元,並替換掉
return str.replace(/</g, `<`)
.replace(/>/g, `>`)
.replace(/'/g, ```)
.replace(/"/g, `"`)
.replace(/&/g, ``)
// String.fromCharCode() 靜態方法根據指定的 Unicode 編碼中的序號值來返回一個字串。String.fromCharCode(65,66,67) “ABC”
.replace(/&#(d+)/g, function ($0, $1) {
//parseInt() 函式將給定的字串以指定基數(radix/base)解析成為整數。就是 你想把string當成radix進位制數解析成10進位制
return String.fromCharCode(parseInt($1, 10));
});
}
測試程式碼如下:
// 轉義和反轉義的功能測試
var tagText = "<p><b>123&456</b></p>";
// 如果直接列印輸出的話,就是一個字串
console.log(tagText); // <p><b>123&456</b></p>
res = escapeHTML(tagText);
console.log(res); // <p><b>123&456</b></p>&
// 如果把一個字串轉義為實體之後,就不會正常在頁面中顯示出來內容,只會顯示的是一個字串
document.body.innerHTML = res; // 會顯示的是一個字串,<p><b>123&456</b></p>&, 但是瀏覽器也會自動將實體轉換解析
// 如果是一個字串的話,就會直接在網頁中顯示出來(按照HTML進行解析)
document.body.innerHTML = tagText; // 相當是設定了一段HTML程式碼
// 對字元反轉義之後的結果
res = unscapeHTML(res); // <p><b>123&456</b></p>
console.log(res); // 又恢復到最初始的狀態
相關文章
- JavaScript 轉義字串JavaScript字串
- Javascript框架的自定義事件(轉)JavaScript框架事件
- 在JavaScript中對HTML進行反轉義JavaScriptHTML
- 反轉字串(JavaScript)字串JavaScript
- JavaScript 字串反轉JavaScript字串
- JavaScript練習題目(2)文字域內的字串反轉JavaScript字串
- 【JavaScript框架封裝】公共框架的封裝JavaScript框架封裝
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- 【JavaScript框架封裝】實現一個類似於JQuery的CSS樣式框架的封裝JavaScript框架封裝jQueryCSS
- javascript 字串字元順序反轉JavaScript字串字元
- mysql 的Escape轉義字串MySql字串
- JavaScript實現自定義的生命週期JavaScript
- Python中列表和字串的反轉Python字串
- javascript中字串的兩種定義形式JavaScript字串
- javascript字串和ascii碼的相互轉換JavaScript字串ASCII
- javascript數字和字串的相互轉換JavaScript字串
- javascript實現的任意擷取字串中的子字串JavaScript字串
- HTML字元實體和轉義字串大全HTML字元字串
- 理解Javascript中類的定義JavaScript
- JavaScript html標籤轉義為實體字元JavaScriptHTML字元
- javascript中將數字轉為字串的方法JavaScript字串
- (轉)Android 自定義Dialog實現步驟及封裝Android封裝
- javascript中字串和陣列的相互轉換JavaScript字串陣列
- JavaScript 中 void(0) 的含義JavaScript
- javascript字串和陣列轉換JavaScript字串陣列
- Python對HTML轉義字元進行反轉義PythonHTML字元
- javascript轉義或者還原html標籤JavaScriptHTML
- Javascript中自定義事件JavaScript事件
- Javascript中裝飾器的實現原理JavaScript
- javascript數字和字串相互轉換JavaScript字串
- 轉:對字串的“sum”——在Oracle中自定義聚集函式的例子字串Oracle函式
- Python中的轉義字元Python字元
- JavaScript中是如何定義私有變數的JavaScript變數
- JavaScript字串中URL的檢測並轉換為連結JavaScript字串
- Feign通過自定義註解實現路徑的轉義
- JavaScript從反轉陣列到連結串列反轉JavaScript陣列
- C中atoi和strcpy的自定義實現
- GOLANG如何避免字串轉義Golang字串