屏蔽敏感词的正则表达式
/(?!.*\[徽\]\[信\]|.*紸 微|.*互动逡|.*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, "\\\]"); }
!!!转发请注明出处和作者名称。
!!!转发请注明出处和作者名称。
!!!转发请注明出处和作者名称。
重要的事,说三遍。