2012-09-07 64 views
1

我使用以下函數進行整數驗證keydown事件。現在我需要允許逗號和空格鍵在此範圍內。需要javascript函數允許逗號和空格

function intValidate(event) { 
    if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||(event.keyCode == 65 && event.ctrlKey === true) ||(event.keyCode >= 35 && event.keyCode <= 39)) 
     { 
      return; 
     } 
    else 
    { 
     if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)&&event.keyCode < 188) 
     { 
      event.preventDefault(); 
     } 
    } 
    } 
+0

搜索相關的keyCode並在其中使用它們你的條件。 –

回答

3

分別檢查關鍵代碼188和32。鑑於188是「逗號」,您可能還想檢查110 - 「小數點」,對於數字鍵盤上的字符(當然取決於鍵盤佈局)。

+0

Heldlunt它不工作 – User

+0

對不起,我把逗號和句點鍵碼先混合起來。請參閱我的更新 –

0

32將爲空間。

188將用於逗號(,)。

所以加在你if條件:

event.keyCode == 32 || event.keyCode == 188 

看到整個列表:KeyCode List

0

你可以調用這個函數:

var isValid = function(key) { 

    var allowedCharacters = ['0','1','2','3','4','5','6','7','8','9',' ', ','] 
    if (allowedCharacters.contains(key)) return true; 
    return false; 

}; 

這裏是一個小提琴:http://jsfiddle.net/Js9wQ/

+0

您將如何在keydown監聽器中實現該功能? –

+0

var key = String.fromCharCode(e.keyCode); –

相關問題