2011-09-26 52 views
1

我有此代码手柄键使用JavaScript的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(事件);”

我想验证密钥它的文本

显示之前如果密钥是一个数字或昏迷(,)或句号(。) 然后接受的关键 其他 拒绝它

谢谢

+0

什么问题? – unholysampler

回答

3

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

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

是的,谢谢你的工作 – Rad