当前位置:首页 > JavaScript

js实现关键字过滤

2026-03-01 20:32:31JavaScript

实现关键字过滤的方法

使用正则表达式进行匹配

可以通过正则表达式来检查字符串中是否包含特定的关键字。这种方法简单直接,适用于基础过滤需求。

function filterKeywords(text, keywords) {
    const regex = new RegExp(keywords.join('|'), 'i');
    return regex.test(text);
}

const text = "This is a sample text containing forbidden word";
const keywords = ["forbidden", "blocked", "restricted"];
console.log(filterKeywords(text, keywords)); // true

替换敏感关键字

如果需要将敏感词替换为其他字符(如星号),可以使用字符串的替换方法。

js实现关键字过滤

function replaceKeywords(text, keywords) {
    keywords.forEach(keyword => {
        const regex = new RegExp(keyword, 'gi');
        text = text.replace(regex, '*'.repeat(keyword.length));
    });
    return text;
}

const text = "This is a sample text containing forbidden word";
const keywords = ["forbidden", "blocked", "restricted"];
console.log(replaceKeywords(text, keywords)); // "This is a sample text containing * word"

使用数组的some方法进行过滤

可以通过数组的some方法来检查文本中是否包含任意一个关键字。

js实现关键字过滤

function hasKeywords(text, keywords) {
    return keywords.some(keyword => text.toLowerCase().includes(keyword.toLowerCase()));
}

const text = "This is a sample text containing forbidden word";
const keywords = ["forbidden", "blocked", "restricted"];
console.log(hasKeywords(text, keywords)); // true

结合DOM操作实现前端过滤

在网页中,可以通过监听输入事件来实时过滤关键字。

document.getElementById('inputField').addEventListener('input', function(e) {
    const keywords = ["forbidden", "blocked", "restricted"];
    const text = e.target.value;
    const hasForbidden = keywords.some(keyword => text.includes(keyword));
    if (hasForbidden) {
        alert("Forbidden keyword detected!");
        e.target.value = '';
    }
});

使用第三方库

对于更复杂的需求,可以考虑使用第三方库如bad-words,它提供了更全面的过滤功能。

const Filter = require('bad-words');
const filter = new Filter();
console.log(filter.clean("This is a bad word")); // "This is a * word"

标签: 关键字js
分享给朋友:

相关文章

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('imag…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…