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

JavaScript019

用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//不是敏感词就保留下来

    }

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

JS 判断是否包含特殊字符

js 正则过滤特殊字符

js 验证特殊字符

js检查是否含有非法字符

//正则

function trimTxt(txt){

 return txt.replace(/(^\s*)|(\s*$)/g, "")

}

  

/**

 * 检查是否含有非法字符

 * @param temp_str

 * @returns {Boolean}

 */

function is_forbid(temp_str){

    temp_str=trimTxt(temp_str)

    temp_str = temp_str.replace('*',"@")

    temp_str = temp_str.replace('--',"@")

    temp_str = temp_str.replace('/',"@")

    temp_str = temp_str.replace('+',"@")

    temp_str = temp_str.replace('\'',"@")

    temp_str = temp_str.replace('\\',"@")

    temp_str = temp_str.replace('$',"@")

    temp_str = temp_str.replace('^',"@")

    temp_str = temp_str.replace('.',"@")

    temp_str = temp_str.replace('',"@")

    temp_str = temp_str.replace('<',"@")

    temp_str = temp_str.replace('>',"@")

    temp_str = temp_str.replace('"',"@")

    temp_str = temp_str.replace('=',"@")

    temp_str = temp_str.replace('{',"@")

    temp_str = temp_str.replace('}',"@")

    var forbid_str=new String('@,%,~,&')

    var forbid_array=new Array()

    forbid_array=forbid_str.split(',')

    for(i=0i<forbid_array.lengthi++){

        if(temp_str.search(new RegExp(forbid_array[i])) != -1)

        return false

    }

    return true

}

-----------------------------------

作者:dongsir 董先生

来源:董先生的博客

原文链接:js检查是否含有非法字符

版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载时请标注:http://dongsir.cn/p/195

可以使用字符串的indexOf方法来判断,这个方法是返回字符的下标,如果存在就返回下标,不存在返回一个负数,那么你就判断indexOf返回的数是大于0或小于0就可以知道有没有包含"\"了:str.indexOf("\")