您的位置:首页 > Web前端 > JavaScript

过滤输入——JS总结

2015-05-31 22:01 639 查看
过滤输入——JS总结


1.过滤输入两种模式:

1.1 禁止或屏蔽非数字键的输入,阻止非数字键的默认行为

1.2 验证后取消,你可以先输入非法字符,然后判断后,取消刚才输入的文本

2.实现:

2.1 方法:禁止……默认行为 【引用封装:封装基础代码

addEvent(window,'load',function () {
    var fm = document.getElementById('MyForm');
    var user = fm.elements['user'];
    var content = fm.elements['content'];
	
    addEvent(content,'keypress',function (evt) {
        var e = evt || window.event;
        var charCode = getCharCode(evt);
        //正则表达式来获取文本是否为数字
        //alert(String.fromCharCode(charCode));
		
        if (! /\d/.test(String.fromCharCode(charCode)) && charCode > 8 ){
            preDef(evt);             //屏蔽非数字键盘的输入
        }
		
        //PS: charCode > N, N只限于放开光标键、退格键和删除键,N过大,就会出现漏网之鱼。
    });
	
    addEvent (areaField,'cut', function (evt) {
        preDef(evt);                //阻止裁剪
    });
	
    addEvent (areaField,'copy', function (evt) {
        preDef(evt);                //阻止复制
    });
	
    addEvent (areaField,'paste', function (evt) {
        preDef(evt);                //阻止粘贴
    });
	
    //屏蔽中文输入法,但Chrome无效
    content.style.imeMode = 'disabled';
	
    //【值得注意】: 屏蔽输入法用户体验不好,会让用户误以为电脑坏了

});


2.2 方法:验证后……输入的文本
【引用封装:封装基础代码

addEvent(window,'load',function () {
    var fm = document.getElementById('MyForm');
    var user = fm.elements['user'];
    var content = fm.elements['content'];
	
    addEvent(content,'keypress',function (evt) {
        var e = evt || window.event;
        var charCode = getCharCode(evt);
        //正则表达式来获取文本是否为数字
        //alert(String.fromCharCode(charCode));
		
        if (! /\d/.test(String.fromCharCode(charCode)) && charCode > 8 ){
            preDef(evt);                                   //屏蔽非数字键盘的输入
        }
		
        //【注意】: charCode > N, N只限于放开光标键、退格键和删除键,N过大,就会出现漏网之鱼。
    });

    addEvent(content,'keyup',function (evt) {
        this.value = this.value.replace(/[^\d]/g,'');      //将非数字键替换为空
    });


在SQL数据库安全中,大家特别熟悉有防‘SQL注入’,而‘SQL注入’主要使用的有英文半角的单引号" ' ",我们可以做适当的设置,通过正则表达式将其过滤掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: