当前位置:首页 > 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

替换敏感关键字

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

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方法来检查文本中是否包含任意一个关键字。

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,它提供了更全面的过滤功能。

js实现关键字过滤

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

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

相关文章

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js 实现递归

js 实现递归

递归的基本概念 递归是指函数直接或间接调用自身的过程。在JavaScript中,递归通常用于解决可以分解为相似子问题的问题,如阶乘、斐波那契数列、树形结构遍历等。 递归的实现要点 基线条件(Base…