首页 > 代码库 > Event.keyCode控制input只能输入数字

Event.keyCode控制input只能输入数字

<script>

    function onlyNum()

    {

    if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))

        {

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

            {

            event.returnValue=http://www.mamicode.com/false;

            }

        }

    }


</script>

<input onkeydown="onlyNum()"/>

设定当keydown这个时间发生时,Event发生的事件这个对象,keyCode是Event对象的一个属性,该属性指明了被敲击的键生成的Unicode字符码

上面的方法解析:

回车:8  Delete:46  方向键左:37 方向键右:39  

大键盘上方 0-9 : 48-57 小键盘数字键0-9 : 96-105

上面方法的逻辑是:如果不是 ← → backspace delete 就会做判断 输入的是不是数字,不是数字的话就把Event对象的returnValue属性设为false,表示取消事件的源元素的默认动作。