用js过滤掉 用户输入到文本框里面的脏话,求代码

JavaScript072

用js过滤掉 用户输入到文本框里面的脏话,求代码,第1张

最笨的方法是:

var str = 'zz112kdd'//输入的内容

    var arr = {'1':'1', '2':'2', '3':'3'}//要过滤掉的字符,用对象方便查找,如果是数组的话就要遍历

    var result=''//过滤后字符串

    for (var i = 1, length = str.length i < length i++) {

        var s = str.substring(i - 1, i)//截取字符

        var s1 = arr[s]//判断这个字符是否在敏感词对象里,匹配不到就返回undefined

        if (s1 == undefined) result += s//不是敏感词就保留下来

    }

估计正则表达式也可以实现,但稍微有点麻烦。

1、jQuery使用正则匹配替换特殊字符

function RegeMatch(){

    var pattern = new RegExp("[~'!@#$%^&*()-+_=:]")  

    if($("#name").val() != "" && $("#name").val() != null){  

        if(pattern.test($("#name").val())){  

            alert("非法字符!")  

            $("#name").attr("value","")  

            $("#name").focus()  

            return false  

        }  

    }  

}

2、jQuery限制输入ASCII值

//数字0-9的ascii为48-57

//大写A-Z的ascii为65-90

//小写a-z的ascii为97-122

// ----------------------------------------------------------------------

// <summary>

// 限制只能输入数字和字母

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyNumAlpha = function () {

    $(this).keypress(function (event) {

        var eventObj = event || e

        var keyCode = eventObj.keyCode || eventObj.which

        if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))

            return true

        else

            return false

    }).focus(function () {

        this.style.imeMode = 'disabled'

    }).bind("paste", function () {

        var clipboard = window.clipboardData.getData("Text")

        if (/^(\d|[a-zA-Z])+$/.test(clipboard))

            return true

        else

            return false

    })

}

//-----调用方法$("#文本框id").onlyNumAlpha()

3、js正则匹配过滤

function stripscript(s) 

    var pattern = new RegExp("[`~!@#$^&*()=|{}':',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]") 

    var rs = "" 

    for (var i = 0 i < s.length i++) { 

        rs = rs+s.substr(i, 1).replace(pattern, '') 

    } 

    return rs 

}