两种方式,我觉得是一样的效果,请看:

var charFilter1 = function(str) {
    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]", 'g');
    var rs = "";
    for (var i = 0; i < str.length; i++) {
        rs = rs+str.substr(i, 1).replace(pattern, '');
    }
    return rs;
}

  

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

  第二种方式简单,运行速度没考虑过,在控制台中测试结果如下:

过滤input框中的特殊字符

结果:确实第二种charFilter方法快很多。

 

相关文章: