- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:onKeyDownで数値チェック)
onKeyDownで数値チェック
このQ&Aのポイント
- 入力時にタブで飛んだ時にチェックをかけるので関数として設定しておき、フォームではonKeyDownで呼び出すことが前提です。(onBlueは不可)
- アルファベットの上に並んでいる数値での入力チェックはうまくいくのですが、テンキーの数字キー、タブキー、バックスペースキーも有効としたい。
- 下記の例にこだわる必要はないが、onKeyDownで呼び出すことが条件。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptのString.fromCharCodeは、はっきり言って信用しない方が良いですよ^^; 取得してみると判りますが、テンキーのキーコード等を変換すると文字化けしてしまいます。 ですから、判定文を文字列判定からキーコード判定に変えて上げると上手く行きますよ^^ 例えば、テンキーでの"0"は、キーコード96ですが、メインキーでの"0"は、キーコード48です。 ここの辺りがキーコードを使う上で難しいところではありますが、明示的に判断が行えると思います。 以下の例では、0~9やENTER、TAB、BACKSPACEを全てキーコードで判断しています。 参考にして見てください^^ --------------------------------------- function checkNum() { var code = event.keyCode; if( code >= 96 && code <= 105 || // テンキー0~9チェック code >= 48 && code <= 57 || // メインキー0~9チェック code == 13 || // ENTERキーチェック code == 9 || // TABチェック code == 8 ) { // BACKSPACEチェック }else { alert("数字以外入力できません"); } } ---------------------------------------
お礼
思うような動きになりました!!! 昨日に引き続き今日も助けていただきありがとうございました!