文本框脚本 - 过滤输入

过滤输入经常应用的场合是,限定文本框的输入特定数据,或者输入特定格式的数据。

当输入那离不开键盘,当然也不开这三个事件:

  keydown

  keypress

  keyup

先来看看这些事件的顺序:

    textbox.addEventListener("keyup",function(){
        console.log("keyup"); //3
    },false);
    textbox.addEventListener("keydown",function(){
        console.log("keydown");//1
    },false);

    textbox.addEventListener("keypress",function(){
        console.log("keypress");//2
    },false);

既然我们要过滤某些内容,那必须知道我们按下的是什么?

这个可以根据事件对象中的一个属性,在 IE9+ Firefox Safari Chorme Opera中 可以通过charCode获取。

  在IE8以及低版本 以及Opera,不支持该属性,则提供 keyCode,不管哪个属性值,只有 在 keypress 事件时事件对象中才会包含该属性。

下面来看看具体获取 keyCode 或 charCode 的方式

  

    function addHandler(element,type,handler){
        if(element.addEventListener){
            element.addEventListener(type,handler,false);
        }else if(element.attachEvent){
            element.attachEvent("on"+ type,handler);
        }else{
            element["on"+type] = handler;
        }
    }
    function getEvent(event){
        return event?event:window.event;
    }

    function getCharCode(event){
        event = getEvent(event);
        if(event.charCode){
            console.log("Chrome"+ event.charCode);
        }else if(event.keyCode) {
            console.log("IE Opera" + event.keyCode);
        }
    }
    var textbox = document.forms[0].elements[0]; //123
    addHandler(textbox,"keypress",function(event){
        console.log(getCharCode(event));
    });

上面主要是兼容了各种浏览器,主要是对IE、Chrome、Safari、Forfix、Opera

  key(按键)- 对应的ISC码值  - 通过 String类的fromCharCode 作为转换成对应的字符串形式

实例一:  屏蔽字符

  

    var textbox = document.forms[0].elements[0]; //123
    addHandler(textbox,"keypress",function(event){
        event = getEvent(event);
        var code = getCharCode(event);
        if(!/\d+/.test(String.fromCharCode(code))){
            preventDefault(event);
        }
    });
时间: 2024-10-01 18:30:57

文本框脚本 - 过滤输入的相关文章

《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本

在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 var form = document.getElementById("form1");//取得页面中id=form1的元素 var form1 = document.forms[0];//取得页面中的第一个表单 var myform = document.forms["myFo

规定文本框只能够输入整数代码实例

规定文本框只能够输入整数代码实例:有时候可能需要规定文本框内容只能够输入整数,下面给出一段能够实现此功能的代码实例,供需要的朋友参考.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>

规定文本框只能够输入数字包括小数的jQuery代码

规定文本框只能够输入数字包括小数的jQuery代码:文本框有时候规定只能够输入整数,这里就不多介绍了,具体可以参阅jQuery如何规定文本框只能输入整数一章节,不过有时候也可以输入小数,下面就通过代码实例介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="

文本框只同意输入数字

文本框只同意输入数字.net/javascript <input type="text" name="test" onKeyUp="test1.value=(this.value=this.value.replace(/\D/g,'').substring(0,6)).substring(0,3)" > <br /> <input name="test1" type="text"

文本框仅仅同意输入数字

文本框仅仅同意输入数字.net/javascript <input type="text" name="test" onKeyUp="test1.value=(this.value=this.value.replace(/\D/g,'').substring(0,6)).substring(0,3)" > <br /> <input name="test1" type="text&quo

WinForm笔记一:文本框只允许输入数字

在WinForm的文本框中,有时候只允许数字,而不能输入除数字以外的其他字符,要调用TextBox的KeyPress事件,代码如下: //只允许输入数字 if (e.KeyChar<'0'||e.KeyChar>'9') { e.Handled = true; } //允许输入退格键 if (e.KeyChar == 8) { e.Handled = false; } TextBox tBox = sender as TextBox;        //哪个文本框调用,tBox 就是哪个文本框

JS(javascript)动态判断输入文本框剩余可输入字符数

一.描述 我们在空间中发表状态,当我们输入一个字符,上面的剩余可输入字符数就会减一,直到输入的字符数达到之前设定的最大数量为止,效果如下图所示: 二.实现方法 首先,我们先确定文本框内的最大可输入长度,其次在输入一个字符抬起键盘的时候对输入文本框中的字符长度进行验证,并在动态显示在剩余可输入字符数中. 三.源代码 <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="

文本框中的输入字的格式监听

限制文本框中只可以输入数字   JFoormattedTextField price= new JFormattedTextField(); price.addKeyListener(new NumberListener());//添加监听对象

文本框只允许输入数字.net/javascript

<input type="text" name="test" onKeyUp="test1.value=(this.value=this.value.replace(/\D/g,'').substring(0,6)).substring(0,3)" > <br /><input name="test1" type="text" > 用Up和Down有区别 只能输入数字.字