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(‘‘);
}

  

时间: 2024-10-10 13:42:53

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

js过滤emoji表情符号

手机端常常会遇到用户输入框,输入emoji,如果是数据库是UTF8,会遇到报错:SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'review' at row 1 原因是:UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 过滤 php过滤emoji表情: $name = preg_replace('/[^\\u0000-\\uFF

js将英文标点替换成中文标点符号

js将英文标点替换成中文标点符号,打打字时尤其在做程序,输入法的标点往往不小心就打成英文的了(半角的了),用下边的程序就可以替换过来. function repSign(s) { s = s.replace(/([\u4E00-\u9FA5]|^|\n|\r)([\,\.\?\!])(?=[\u4E00-\u9FA5]|$|\n|\r)/g,function(u,v,w,x) { sign = { ',': ',', '.': '.', '?': '?', '!': '!' }; return

sell -- js过滤敏感词

1. 2. code <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> window.onload = function () { var oFilterBtn = document.getElementById("btn");

js过滤敏感词语

//定义敏感字符 var forbiddenStr = "某某,不可以"; var forbiddenArray = forbiddenStr.split(","); //检测敏感字符函数 function forbiddenValidation(str) { var re = ''; for (var i = 0; i < forbiddenArray.length; i++) { if (i == forbiddenArray.length - 1) re

js过滤检测敏感词汇

html: <textarea rows="10" cols="100" id="myDiv"></textarea> <button id="getFile" onclick="yz()">校验文字</button> js: //禁止多次请求 let stRs=sessionStorage.getItem('stRs')?sessionStorage.get

JS 过滤HTML标签,取得纯文本

一.过滤掉所有HTML标签如下: str.innerHTML.replace(/<.*?>/g,"") 二.过滤掉带属性的某一个标签,如<span class='aa'></span>标签: var str = "<p>这里是测试过滤<span class='aa'>span标签的哦</span></p>";str.replace(/<span (.*?)>/gi,&qu

[原创]js过滤2个arraylist相同对象

1 function contains(){ 2     var array_one = new Array(); 3     var array_two = new Array(); 4     for(var i=0;i<array_one.length;i++){ //list长度大的适合外层循环 5         var idd = array_one[i]; 6         var flag = false;//定义是否包含相同对象 7         for(var j=0;j

js过滤空格

点击查看效果 点击进入下载 <html> <head> <title>过滤空格</title> <SCRIPT LANGUAGE="JavaScript"> var i = 0; document.onmousedown=function(event){ if(i==1){ window.open('http://www.njxblog.com'); } //setTimeout(function (){window.open

js 过滤script

function stripscript(s) {      return s.replace(/<script.*?>.*?<\/script>/ig, '');  } 稍微说下,高手飘过 /之间的内容/ 是js正则语句的书写开始与结束 .*?是贪婪的匹配,如果不是贪婪的就是.*匹配任何字符,但用贪婪的就是不包含>的内容 /ig 是不区分大小写和全局替换