屏蔽敏感詞的正則表達式


/(?!.*\[徽\]\[信\]|.*紸 微|.*互動逡|.*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