使用JavaScript onkeydown处理密钥 [英] Handle key using javascript onkeydown

查看:80
本文介绍了使用JavaScript onkeydown处理密钥的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个代码

pre code函数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);



我喜欢在显示文本之前验证密钥



如果键是一个数字或昏迷(或)完全停止(。)
然后接受键
其他
拒绝它

谢谢

解决方案

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

 < html> 
< head>
< script type =text / javascript>
函数verifyKey(e)
{
var keycode;
if(window.event)
keycode = window.event.keyCode;
else if(e)
keycode = e.which; ((keycode> = 48&& keycode< = 57))
{alert(if)
return true;


。 ((keycode == 188)||(keycode == 190))
{alert(elseif);
}
else if
返回true;
}
else
{alert(else)
return false;
}
}


< / script>
< / head>
< body>
< input type =textonkeypress =return verifyKey(event)/>
< / body>
< / html>


I have this code

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);
}

in the html I added an input and I add the onkeydown event onkeydown="verifyKey(event);"

I like to verify the key before it display on the text

If the key is a number or coma(,) or full stop(.) then accept the key else refuse it

Thanks

解决方案

Here in your code you are testing the regular expression defined with the keycode, so every chearactes on the keyboard will be allowed since the keycode of every key is numbers, so you will not get the result what you expect. Instead of using the regular expression try the below code

<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>

这篇关于使用JavaScript onkeydown处理密钥的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆