1

キーダウン イベントの整数検証に次の関数を使用します。この関数内でコンマとスペース バーを許可する必要があります。これを行うにはどうすればよいですか?

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

4 に答える 4

3

キー コード 188 と 32 をそれぞれ確認します。188 は「コンマ」ですが、テンキーの文字の 110 – 「小数点」も確認する必要があります (もちろん、キーボードのレイアウトによって異なります)。

于 2012-09-07T07:10:31.270 に答える
1

If ステートメントで許可する必要がある新しい文字のキーコードを追加します。tr thisキーコード リスト

于 2012-09-07T07:12:10.473 に答える
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/

于 2012-09-07T07:18:40.130 に答える
0

32スペース用になります。

188コンマ(、)になります。

だからあなたのif条件にそれを追加してください:

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

リスト全体を見る: KeyCode リスト

于 2012-09-07T07:13:50.970 に答える