var filterword=,//敏感詞檔案
file:"sensitivewords.txt",
//載入敏感片語
//將關鍵字生成一顆樹
maketree:function
(callback) ;
varkey;
for (var i = 0, n = arrkeys.length; i < n; i++)
//生成子節點
if (key in
tblcur)
tblcur =tblcur[key];
else
tblcur = tblcur[key] ={};
}//最後乙個關鍵字沒有分割符
tblcur.end = true
; callback(
this
.tblroot);
});}
else
},//標記出內容中敏感詞的位置
searchwords:function
(content,root)
//找到匹配敏感字
if(tblcur.end)
v =p;
}//最大匹配
if(v)
}return
arrmatch;
},//標記敏感字
handle:function
(strcontent)
arrhtml.push(strcontent.substring(p));
strhtml = arrhtml.join("").replace(/\n/g, "
"); console.log(strhtml);
});}
};
使用方式:
filterword.handle("徐航撒颯颯阿薩颯颯劉孝朋啊啊撒颯颯")
JS 過濾敏感詞 RegExp
知識點 1 var re 我 車 一 g 也可以寫成 var re 我 車 一 g 即去掉了和 這個案例中,表示連續多個,可以不用,但是遇到判斷型別那種,就必須要了,其實這個也應該加上額,萬一 我 字後面還有乙個 我 連著呢?對與中括號 我恍惚了,他是表示乙個集合,把所有的要判斷的資料都裝起來。如果...
JS 過濾敏感詞 RegExp
知識點 1 var re 我 車 一 g 也可以寫成 var re 我 車 一 g 即去掉了和 這個案例中,表示連續多個,可以不用,但是遇到判斷型別那種,就必須要了,其實這個也應該加上額,萬一 我 字後面還有乙個 我 連著呢?對與中括號 我恍惚了,他是表示乙個集合,把所有的要判斷的資料都裝起來。如果...
敏感詞過濾
最近需要實現對聊天裡的敏感詞過濾,要求比較簡單,只需要對字型檔中存在的關鍵字進行匹配,所以不需要非常複雜的實現,但是需要能夠快速地對乙個關鍵字集合進行匹配。搜了一下相關的資料,比較簡單的乙個演算法是使用aho corasick演算法,以下簡稱ac演算法。該演算法的基本思想中包含了kmp演算法,即利用...