码迷,mamicode.com
首页 > Web开发 > 详细

过滤输入——JS总结

时间:2015-05-31 23:24:14      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:过滤输入   屏蔽部分键   

过滤输入——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注入’主要使用的有英文半角的单引号" ‘ ",我们可以做适当的设置,通过正则表达式将其过滤掉。




过滤输入——JS总结

标签:过滤输入   屏蔽部分键   

原文地址:http://blog.csdn.net/wangqingbo0829/article/details/46292147

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!