单击按钮时阻止文本框中的所有不适当的单词



下面是我的代码,它向我展示了当我插入文本框时插入杀戮、战斗、拍打的通知。 但是我想阻止文本框中所有可能的不适当的单词,例如 f**k 等。你们有什么想法吗?谢谢

<html>  
<head>  
<meta charset="utf-8" />  
<title></title>  
</head>  
<body>  
<div id="wrapper" style="width:600px; margin:0 auto;">  
<h2></h2>  
<input id="txtWords" style="width:300px;" />  
<br />  
<input type="button" id="btnCheck" onclick="fnCheckForRestrictedWords();" value="Check For 
Restricted Words">  
</div>  
<script type="text/javascript">  
function fnCheckForRestrictedWords() {  
var restrictedWords = new Array("kill", "fight", "slap");  
var txtInput = document.getElementById("txtWords").value;  
var error = 0;  
for (var i = 0; i < restrictedWords.length; i++) {  
var val = restrictedWords[i];  
if ((txtInput.toLowerCase()).indexOf(val.toString()) > -1) {  
error = error + 1;  
}  
}  
if (error > 0) {  
alert('You have entered some restricted words.')  
}  
else {  
// Your logic here  
}  
}  
</script>  
</body>  
</html>  

您需要定义所有"坏"词并将它们放入黑名单。您可以使用一些现有列表作为列表的起点:

https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/blob/master/en

https://github.com/dariusk/wordfilter/blob/master/lib/badwords.json

http://www.bannedwordlist.com/lists/swearWords.txt

http://www.frontgatemedia.com/new/wp-content/uploads/2014/03/Terms-to-Block.csv

来源: 红迪网

如果要包含混淆的"坏"词,则可能还需要将 添加到列表中。

includes()

方法应该有效:txtInput.include(restrictedWords[i](,它返回真或假。您还想包含更多坏词和不同的书写方式

最新更新