对于列车上的人来说,我们这些仰躺着望天的孩子只是呼啸而过的风景他们却不知到这些孩子曾偷偷的哭过多少回。
效果图:
话不多说,请看代码:
<!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过滤关键字的方法JavaScript过滤关键字的方法</p> <script> //================================= 可用状态代码 ===================================== // var arr = ['Java','关键字', '方法'], // arrText = arr.join('|'), // var params = document.querySelector('#cont'); // // // 替换关键字 // params.innerHTML = params.innerHTML.replace(new RegExp(arrText, "ig"), "<em>$&</em>"); // var arr = []; // console.log(arr); //================================= 修改后的代码 ===================================== /** * 过滤关键字 * @param keyArr 需要过滤的关键字数组 * @param ele 过滤的节点 */ function filterContent(keyArr, ele) { /** * 一个程序的标准准则 * 1. 可用, 可以实现核心的需求 * 2. 健壮, 兼容性处理, 边界处理, 异常处理, 用户输入校验 * 3. 可靠, 任何时候都要有返回值 * 4. 宽容, 对需求宽容, 对调用着宽容, 对维护者宽容 * 5. 精益求精, 可靠的注释... */ try { // 检测是否为 undefined 或者为一个数组,或者数组长度是否大于 1, 这里的返回 -1 只是为了有返回值, 也可以不写 if (keyArr === 'undefined' || !(keyArr instanceof Array) || keyArr.length < 1) return -1; // 将数组里面的元素以 | 进行合并方便进行正则比较, 如 张三|李四 var arrTxt = keyArr.join('|'), regObj = new RegExp(arrTxt, 'ig'); // 替换关键字 ele.innerHTML = ele.innerHTML.replace(regObj, "<em>$&</em>"); } catch (e) { console.log('出错啦~' + e); } } // 调用 var arr = ['Java','关键字', '方法']; var params = document.querySelector('#cont'); filterContent(arr, params); </script> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!