Bootstrap

jQuery实现敏感词过滤

使用正则表达式,点击按钮验证,如果输入框中有敏感词,将会将它中的敏感词变成 * ,借此实现敏感词过滤

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="text" id="ipt">
<button id="btn">验证</button>
<p id="ip"></p>
<script>
    var ipt = document.getElementById('ipt');
    var btn = document.getElementById('btn');
    var ip = document.getElementById('ip');
    btn.onclick = function() {
        var value = ipt.value;
        var arr = ['文明', '傻瓜', '滚'];   //敏感词数组
        //遍历
        for (var i = 0; i < arr.length; i++) {
            var reg = new RegExp(arr[i], 'g');
            value = value.replace(reg, function(a){
                var str = '';
                for(var j = 0; j < a.length; j++){
                    str += '*';
                }
                return str;
            });
            ip.innerHTML = value;   // 将ipt的内容赋值给ip
        }
    }
</script>
</body>
</html>

也有更为方便的方法,

  var ipt = document.querySelector('input');
    var btn = document.querySelector('button');
    var p = document.querySelector('p');

    btn.onclick = function () {
        var value = ipt.value;
        p.innerHTML = value.replace(/文明|傻瓜|/g, function (s) {
            console.log(s);
            return s.replace(/./g, "*");
        });
    }
;