屏蔽敏感词的正则表达式


/(?!.*\[徽\]\[信\]|.*紸 微|.*互动逡|.*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, "\\\]");
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM