当前位置:首页 > 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实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…