js 过滤敏感词 ,可将带有标点符号的敏感词过滤掉

function transSensitive(content) {
// var Sensitive = H.getStorage("Sensitive");//敏感词数组
var Sensitive=["张三","李四"];//敏感词数组
var v = new RegExp(Sensitive.join('|'), "gi");//将数组转成正则
var array = new Array();
//将特殊符号的过滤并且保存
content = content.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g, function (s, i) {
array.push({
index: i,
content: s
});
return s.replace(/./g, '');
})
//将敏感词进行筛选
var output = content.replace(v, function (sMatch) {
if (sMatch.length <= 1) {
return sMatch.replace(/./g, '*');
}
else {
return sMatch[0] + sMatch.replace(/./g, '*').substring(0, sMatch.length - 1);//将词的第一个字保留
}
})
var array2 = output.split('');//将字符串转成char数组
//循环array 将array[i].content 通过array[i].index 插入指定位置 现将array[i].content 应该算是拼接
for (var i = 0; i < array.length; i++) {
array2.splice(array[i].index, 0, array[i].content);
}
return array2.join('');
}

  

上一篇:问题 : lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils,的解决方法


下一篇:Java开源项目(备查)