【问题标题】:Handle key using javascript onkeydown使用 javascript onkeydown 处理密钥
【发布时间】:2011-09-26 12:35:27
【问题描述】:
我有这个代码
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);"
我喜欢在显示在文本上之前验证密钥
如果键是数字或逗号(,) 或句号(.)
然后接受密钥
别的
拒绝它
谢谢
【问题讨论】:
标签:
javascript
html
regex
onkeydown
【解决方案1】:
在您的代码中,您正在测试使用键码定义的正则表达式,因此键盘上的每个字符都将被允许,因为每个键的键码都是数字,因此您不会得到您期望的结果。而不是使用正则表达式尝试下面的代码
<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>