JavaScript 過濾關(guān)鍵字
效果圖:

話不多說,請(qǐng)看代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
em { font-size: 16px; color: red; }
</style>
</head>
<body>
<p id="cont">JavaScript過濾關(guān)鍵字的方法JavaScript過濾關(guān)鍵字的方法</p>
<script>
//================================= 可用狀態(tài)代碼 =====================================
// var arr = ['Java','關(guān)鍵字', '方法'],
// arrText = arr.join('|'),
// var params = document.querySelector('#cont');
//
// // 替換關(guān)鍵字
// params.innerHTML = params.innerHTML.replace(new RegExp(arrText, "ig"), "<em>$&</em>");
// var arr = [];
// console.log(arr);
//================================= 修改后的代碼 =====================================
/**
* 過濾關(guān)鍵字
* @param keyArr 需要過濾的關(guān)鍵字?jǐn)?shù)組
* @param ele 過濾的節(jié)點(diǎn)
*/
function filterContent(keyArr, ele) {
/**
* 一個(gè)程序的標(biāo)準(zhǔn)準(zhǔn)則
* 1. 可用, 可以實(shí)現(xiàn)核心的需求
* 2. 健壯, 兼容性處理, 邊界處理, 異常處理, 用戶輸入校驗(yàn)
* 3. 可靠, 任何時(shí)候都要有返回值
* 4. 寬容, 對(duì)需求寬容, 對(duì)調(diào)用著寬容, 對(duì)維護(hù)者寬容
* 5. 精益求精, 可靠的注釋...
*/
try {
// 檢測(cè)是否為 undefined 或者為一個(gè)數(shù)組,或者數(shù)組長(zhǎng)度是否大于 1, 這里的返回 -1 只是為了有返回值, 也可以不寫
if (keyArr === 'undefined' || !(keyArr instanceof Array) || keyArr.length < 1) return -1;
// 將數(shù)組里面的元素以 | 進(jìn)行合并方便進(jìn)行正則比較, 如 張三|李四
var arrTxt = keyArr.join('|'),
regObj = new RegExp(arrTxt, 'ig');
// 替換關(guān)鍵字
ele.innerHTML = ele.innerHTML.replace(regObj, "<em>$&</em>");
} catch (e) {
console.log('出錯(cuò)啦~' + e);
}
}
// 調(diào)用
var arr = ['Java','關(guān)鍵字', '方法'];
var params = document.querySelector('#cont');
filterContent(arr, params);
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
JS實(shí)現(xiàn)的跨瀏覽器解析XML文件實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)的跨瀏覽器解析XML文件的方法,結(jié)合實(shí)例形式分析了javascript基于ActiveXObject操作xml文件的加載與解析相關(guān)技巧,需要的朋友可以參考下2016-06-06
微信小程序 輪播圖實(shí)現(xiàn)原理及優(yōu)化詳解
這篇文章主要介紹了微信小程序 輪播圖實(shí)現(xiàn)原理及優(yōu)化詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
B/S模式項(xiàng)目中常用的javascript匯總
本篇文章是對(duì)B/S模式項(xiàng)目中常用的javascript進(jìn)行了匯總介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12
javascript 圖片上傳預(yù)覽-兼容標(biāo)準(zhǔn)
js圖片上傳預(yù)覽2009-06-06
JavaScript canvas實(shí)現(xiàn)圍繞旋轉(zhuǎn)動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)圍繞旋轉(zhuǎn)動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
詳解如何在微信小程序開發(fā)中正確的使用vant ui組件
這篇文章主要介紹了詳解如何在微信小程序開發(fā)中正確的使用vant ui組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
一個(gè)類似vbscript的round函數(shù)的javascript函數(shù)
同vbscript的Round函數(shù)功能相同,四舍五入保留指定小數(shù)位數(shù)2009-04-04
讓你的博文自動(dòng)帶上縮址的實(shí)現(xiàn)代碼,方便發(fā)到微博客上
添加以下代碼到你的博客中: (呵呵,抄襲至lulu Studio http://s8.hk/0itw)2010-12-12

