- ベストアンサー
テキストエリアに入力可能な文字を半角数字に制限する方法を教えて下さい。
テキストフィールドに入力可能な文字を javascriptにより、 半角数字・左右のカーソルキー・バックスペースキー・デリートキー のみに限定しようと試みています。 半角数字は、メインキー最上段にある数字キーだけではなく、テンキーからも入力されることを前提としています。 【javascriptのソース】…ブラウザIEのみに対応の場合 function suujinomi(evt) { evt = window.event; txt = String.fromCharCode(evt.keyCode); ...(1) if("0123456789abcdefghi\b\r\t.'`%\60".indexOf(txt,0) < 0) { return false; ...(2) } else { return true; } } 【テキストフィールドhtmlのソース】 <input type=text value="" onkeydown="return suujinomi(event)"> 以下のようにな問題(1)、(2)を解決できず困っています。 (1) メインキーボードの最上段にある数字キーのシフトケースである 半角文字!"#$%&'()もテキストフィールドに入力でき、 (2) ブラウザIE以外のブラウザでは、次のようにステートメント(1)、(2)を書き換えてみたのですが、入力可能な文字が全く制限されません。 javascriptのステートメント(1) → txt = String.fromCharCode(evt.which); javascriptのステートメント(2) → evt.cancelBubble = true; evt.returnValue = false; return false; どのようにすれば、問題(1)、(2)を解決できるかどうか教えて下さい。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
お礼
さらに具体的な処理を教えて頂きました。 おかげさまで、IE,Opera,firefox,safariの何れのブラウザでも 安定に作動するようになりました。 ありがとうございます。 今後とも、どうかよろしくお願い致します。