使用javascript onkeydown处理密钥

时间:2011-09-26 12:35:27

标签: javascript html regex onkeydown

我有这段代码

function verifyKey(e)
{
    var keycode;
    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;
    regex=/[1-9]/;
    if(regex.test(keycode))
        return true;
    else
        void(0);
}

在html中我添加了一个输入,我添加了onkeydown事件onkeydown =“verifyKey(event);”

我想在显示文字

之前验证密钥

如果键是数字或昏迷(,)或句号(。)     然后接受钥匙 其他    拒绝它

由于

1 个答案:

答案 0 :(得分:3)

在你的代码中,你正在测试用键码定义的正则表达式,因此键盘上的每个chearactes都是允许的,因为每个键的键码都是数字,所以你不会得到你期望的结果。而不是使用正则表达式尝试下面的代码

<html>
<head>
<script type="text/javascript">
function verifyKey(e)
{
    var keycode;
    if (window.event)
        keycode = window.event.keyCode;
    else if (e)
        keycode = e.which;


    if((keycode>=48 && keycode<=57))
    {alert("if")
        return true;
    }
    else if((keycode == 188)||(keycode == 190))
    {alert("elseif");
        return true;
    }
    else
    {alert("else")
        return false;
    }
}


</script>
</head>
<body>
<input type="text" onkeypress="return verifyKey(event)" />
</body>
</html>