js非法字符检测

JavaScript08

js非法字符检测,第1张

1、用RegExp的exec()方法,该方法每次返回一个匹配,找不到时返回null

2、例如,str='1111哈哈    嘿嘿',第一次re.exec(str)返回'哈哈',第二次re.exec(str)返回'嘿嘿',第三次返回null。如下图:

最笨的方法是:

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

    }

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

//====判断数字======使某个输入框只能输入数字和退格=============

function judgeNumber(){

if(!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || (event.keyCode == 8)))

event.returnValue=false

}

调用的时候使用 onkeydown事件调。

onkeydown = "javascript:judgeNumber()"

上边那个是只能输入数字的 你查一下ASCII表,找到小写字母对应的值,然后改改就完了