停止使用jquery或javascript滥用词语
我想用正则表达式过滤一些单词(sex等),但有些时候人们会使用这些单词,比如(b.a.d)(b.a.d)(b/a/d)等等,如何阻止这些单词使用正则表达式 这只是一个词,我需要过滤我写的代码中的所有这类词,但它不能完美地工作停止使用jquery或javascript滥用词语,javascript,jquery,html,Javascript,Jquery,Html,我想用正则表达式过滤一些单词(sex等),但有些时候人们会使用这些单词,比如(b.a.d)(b.a.d)(b/a/d)等等,如何阻止这些单词使用正则表达式 这只是一个词,我需要过滤我写的代码中的所有这类词,但它不能完美地工作 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script src="jquery-1.8.3.js"></
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script src="jquery-1.8.3.js"></script>
<title></title>
<meta name="" content="">
</head>
<body>
</body>
<script>
$(document).ready(function(){
var a=['bad','worse'];
for(var i=0; i<a.length; i++){
var re = new RegExp(a[i],"g");
var str = "bad words here";
var res = str.match(re);
if(res.length>0){
alert(res);
break;
}
}
});
</script>
</html>
$(文档).ready(函数(){
变量a=[‘坏’,‘更坏’];
对于(var i=0;i0){
警报(res);
打破
}
}
});
编辑:只需使用以下代码:
函数isbusive(str){
var badWords=['bad','best'];
var isTrue=假;
如果(str){
for(var i=0;i=0;i--){
console.log(i,comments[i].innerHTML)
如果(ispusive(comments[i].innerHTML)){//您可以检查此注释
警惕(“有坏话”);
注释[i].parentNode.removeChild(注释[i]);
}
}
我想做“b/a/d”活动
我想做“最差”的活动
我想做“好”的活动
不良活动
W/O/R/s/T活动
我真的不建议这么做,因为这可能会造成一些奇怪的情况,比如过滤掉上下文中完全可以忽略的东西,比如“那只狗是雄性”
已经说过你可以做一些像。。。它应该能工作,虽然不完美,但它能完成任务
var filter = ['sex','s/e/x'];
// and so on for each bad word.
$(document).text(function(i,txt
{
for (var i = 0; i < filter.length; i++)
{
var pattern = new RegExp(filter[i], 'gi');
var clean = '*'.repeat(filter[i].length);
txt = txt.replace(pattern, clean);
}
return txt;
});
var过滤器=['sex','s/e/x'];
//每一个坏词都是如此。
$(文档).text(函数(i,txt
{
对于(变量i=0;i
希望有帮助
edit我花了很长时间编写代码部分,但没有看到其他答案。
与此搭配,它看起来更漂亮、更通用。试试这个:
return "";
这是你阻止人们使用你不喜欢的词语的唯一方法:不要让他们使用任何词语
即使你检测到某些单词,你也会遇到很多问题,其中许多是在你的问题的评论中给你的。像in@$$这样的字符交换太常见了,书呆子们会知道看起来与拉丁字符相同的西里尔字母-试着用你的正则表达式检测söx
对这个问题采取更具社会性的方法是非常有效的。如果你的社区不愿意发表这样的话,那么就没有必要担心。如果你对罕见的含有这样的话的帖子进行缓和,那么犯罪者将无法再这样做,其他人可能会三思而后行在我的用户提交的内容上从来没有任何文字过滤器,虽然我们偶尔会收到便盆嘴,但它们总是超快速处理,而不是一开始就花很多时间试图阻止它们。哈,祝你好运。如果人们想做爱,他们会找到办法的。例如,S三或者,如何处理Sussex?六元组?六分仪?Misexample?想象一下审查“ass”:你也审查“pass”、“sass”、“grass”、“ass”(作为驴)…此外,正则表达式可以过滤文本,但不一定理解字符串所在的上下文。例如,“一个人的性别是女性”很好。人类调节是唯一确定的方法将代码替换为
var res=str.replace(/[^\w\s]/gi')。匹配(re)
这种过滤需要手动完成,如果需要的话。有很多例子表明,一个粗鲁的词是另一个词的一部分。如果你打算将它合并到你的网站中,你应该将过滤器设置为可选的。谢谢,先生,这很好,但是如何将其用于(bad)(b a d)这样的空间,让我们假设我尝试提交“tab使光标在页面中前进”。哦,等等,我不能,因为它检测到“b广告”…很好地打破了它。