【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)字串JavaScript
- js 富文字轉義及反轉義(包含vue版本的)JSVue
- 【JavaScript框架封裝】公共框架的封裝JavaScript框架封裝
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- mysql 的Escape轉義字串MySql字串
- Python中列表和字串的反轉Python字串
- 【JavaScript框架封裝】實現一個類似於JQuery的CSS樣式框架的封裝JavaScript框架封裝jQueryCSS
- (轉)Android 自定義Dialog實現步驟及封裝Android封裝
- javascript中將數字轉為字串的方法JavaScript字串
- JavaScript html標籤轉義為實體字元JavaScriptHTML字元
- JavaScript實現自定義的生命週期JavaScript
- Feign通過自定義註解實現路徑的轉義
- JavaScript字串中URL的檢測並轉換為連結JavaScript字串
- Python 中的反轉字串:reversed()、切片等Python字串
- Python中常用的文字轉義及編碼Python
- JavaScript字串大小寫轉換JavaScript字串
- JavaScript字串轉換數字JavaScript字串
- Javascript中裝飾器的實現原理JavaScript
- JavaScript 字串與json物件互轉的幾種方法JavaScript字串JSON物件
- BI中事實表和維度表的定義(轉載)
- LeetCode-345-反轉字串中的母音字母LeetCode字串
- Javascript中自定義事件JavaScript事件
- JavaScript 字串轉換為陣列JavaScript字串陣列
- 【轉】cmd中%號和雙引號轉義
- JavaScript中是如何定義私有變數的JavaScript變數
- Javascript中currying的實現JavaScript
- leetcode344 反轉字串 c++實現LeetCode字串C++
- 在Java中反轉字串的10種方法[Snippets]Java字串
- 力扣之反轉字串中的單詞 III力扣字串
- 帶你瞭解外匯交易中古老的144均線回撥中的反轉策略 帶你瞭解反轉策略的含義 反轉是怎樣形成的
- LeetCode7.整數反轉 JavaScriptLeetCodeJavaScript
- 瞭解JavaScript中的型別轉換JavaScript型別
- C#給字串賦予字面值——字串插入、轉義序列的使用C#字串
- JavaScript 字串轉換數值型別JavaScript字串型別
- JavaScript將陣列轉換為字串JavaScript陣列字串
- buffalo 框架中 不對 HTML 內容轉義框架HTML