2011-09-26 50 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