業務須要,網上撈了不少過濾HTML標籤和特殊字符的貼子,各有千秋吧!javascript
最後本身整理了一個優雅版。java
// 抽離成可配置的匹配列表
const matchList = {
'<': '<',
'>': '>',
'&': '&',
'"': '"',
'"': '"',
''': "'",
}
// 字符過濾器
const HtmlFilter = (text) => {
let regStr = '(' + Object.keys(matchList).toString() + ')'
// ↑ ------------【*提取匹配列表key值*】.【組數轉字符串】
regStr = regStr.replace(/,/g, ')|(')
// ↑ 經過匹配將其更新爲正則的字符串類型
const regExp = new RegExp(regStr, 'g')
// ↑ ------- 字符串 轉 正則 方法
return text.replace(regExp, match => matchList[match])
// ↑ ------ 替換方法 (正則, 當前key => 返回當前被匹配的key值)
}
export default HtmlFilter
複製代碼
測試:<Hello> "World"函數
結果:<Hello> "World"測試
這麼認真的註釋給個贊再走唄!優化
哦~哈哈哈~ui