屏蔽敏感词的正则表达式

/(?!.*\[徽\]\[信\]|.*紸 微|.*互动逡|.*qun|.*v辛|.*v信|.*v欣|.*羣|.*裙|.*企业裙|.*亻言|.*微信)^.*$/ig.test('微信')

javascript版本,如需其他版本,自行转换

var newword = '微信';
var sourceWords = '[徽][信]|紸 微|互动逡|qun|v辛|v信|v欣|羣|裙|企业裙|亻言';
txtWords = filterRegex(sourceWords);
var words = txtWords.split('|');
for (i = 0, len = words.length; i < len; i++) {
    words[i] = ".*" + words[i];
}
var pattern = "(?!" +
    words.join("|") +
    ")^.*$";
var js = "/" + pattern + "/ig.test('" + newword + "')";
console.log(js);
if (eval(js)) {
    //不存在敏感词
} else {
    //存在敏感词
}

// 过滤正则表达式保留字符
function filterRegex(txtWords) {
    return txtWords
    .replace(/\\/ig, "\\\\")
    .replace(/\*/ig, "\\\*")
    .replace(/\^/ig, "\\\^")
    .replace(/\$/ig, "\\\$")
    .replace(/\//ig, "\\\/")
    .replace(/\?/ig, "\\\?")
    .replace(/\!/ig, "\\\!")
    .replace(/\;/ig, "\\\;")
    .replace(/\(/ig, "\\\(")
    .replace(/\)/ig, "\\\)")
    .replace(/\{/ig, "\\\{")
    .replace(/\}/ig, "\\\}")
    .replace(/\[/ig, "\\\[")
    .replace(/\]/ig, "\\\]");
}

 

转载于:https://www.cnblogs.com/mahatmasmile/p/5085126.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值