2017-10-09 8 views
-1

jsでsudokuゲームを作成しました。プログラムは1-9の数字のみを許可します。私がアンドロイド携帯電話でそれを実行すると、プログラムはすべての文字と数字を受け入れます。コンピュータと携帯電話のjavascript入力の違い

これはAndroidでコードが動作しなかったことです。それを解決するために私は何ができますか?

ありがとうございます!

$(document).ready(function() { 
    $("input").keydown(function (e) { 
     if ((e.shiftKey || (e.keyCode < 49 || e.keyCode > 57)) && (e.keyCode < 97 || e.keyCode > 105)) { 
      e.preventDefault(); 
     } 
    }); 
}); 
+0

Uの意味は? – krishnar

+1

あなたの入力は 'type = 'number''ですか? – jmargolisvt

+0

パターンを使用 krishnar

答えて

1

理由だけではなく、それがフィールドに入っています後、それを洗練そして、すべての入力を許可しない:すべての

$('input').on('input', function (e) { 
    $(this).val($(this).val().replace(/[^1-9]/g, ''); //remove anything not 1-9 
}); 
0

ファースト - タッチデバイスは、数字キーボードを表示するため<input type="number"><input type="text">を変更します。

そして、正規表現を使って入力をフィルタリング:あなたはそれが唯一の数字パッドを右に表示されるテキストをクリックしたときに

$(document).ready(function() { 
    $("input").keyup(function() { 
     $(this).val($(this).val().replace(/[^1-9]/g, '')); 
    }); 
}) 
関連する問題