• ベストアンサー

javascriptでの入力制限

テキストボックスに値を入力する時、半角数字しか受け付けない様にjavascriptで制限したいです。 良い方法があれば是非教えて下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

onKeyDownイベントで、非数字を無効にするのは? <INPUT TYPE="TEXT" ONKEYDOWN="xx()"> function xx() {   //Ctrl、Altが押されている時は何もしない   if ( event.ctrlKey ) return;   if ( event.altlKey ) return;   //キーコードを取得する   var kc = event.keyCode;   //数字の時は何もしない(下段はテンキー)   if (( kc >= 0x30 ) && ( kc <= 0x39 )) return;   if (( kc >= 0x60 ) && ( kc <= 0x69 )) return;   //以下の特殊キーは何もしない   switch ( kc ) {     case 0x08: return; //BackSpace     case 0x09: return; //Tab     case 0x0D: return; //Enter     case 0x23: return; //End     case 0x24: return; //Home     case 0x25: return; //←     case 0x27: return; //→     case 0x2D: return; //Insert     case 0x2E: return; //Delete     case 0x16: return; //Shift     case 0x17: return; //Ctrl     case 0x18: return; //Alt   }   //上記以外はキー入力が無かったことにする   event.returnValue = false; } 特殊キーで他に許可するものがあればswitch文の case節に追加してください。 尚、ブラウザ、あるいはバージョンにより特殊キーの コードが異なる場合があります。 http://www.openspc2.org/reibun/javascript/appendix/keydown.html ※サンプルコードはインデントに漢字空白を使用 しているのでコピペした後で半角空白に変換して ください。

joynus188
質問者

お礼

できました! ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.1

以下のような感じでどうでしょうか。 半角数字以外が入力された場合、半角数字以外は消去されると思います。 <script type="text/javascript"><!-- var savetext = ""; function textcheck(str){ if(str.match(/^[0-9]+$/)){ savetext = str; } else{ document.getElementById('textarea').value = savetext; //alert('数字だけOKよ'); } } --></script> <textarea onKeyUp="textcheck(this.value)" id="textarea"></textarea>

joynus188
質問者

お礼

回答ありがとうございます! なるほど、そういうやり方もあるのですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 入力に応じて有効化をするJavaScript

    テキストボックスに1文字でも入力があった時のみラジオボタンを選択可能にし、テキストボックスに入力されるまではラジオボタンを無効化したいと思っています どのようにJavaScriptを書けばいいか全くわかりません お願いします

  • 入力を制限したい

    自分の力ではどうしようもなく、ご質問させてください。 2つ以上のテキストボックス(A,B) に数を入力して、その和を(C)以上にならないように制限をしたいのですが、JavaScriptで可能でしょうか。 またテキストボックスA,Bはセレクトボックスで書き出したく思っています。 解り難くて申し訳ありません

  • エディットボックスの入力制限について

    いつもお世話になっております。 VS2005でC++を使ってWindowsプログラミングの作成を行っています。 エディットボックスに半角数字のみ入力するような制限はできますが、 この制限をもっと詳しくし、例えば数字の0~60までしか入力できないようにすることは可能でしょうか。 ご教授お願いいたします。

  • TETXの入力制限について色々と…

    <input type=text~~~~~~>で作ったテキストに160byte(全角80文字)までしか入力できない制限をつけたい。 <input type=text~~~~~~>で作ったテキストに半角数字(又は英数)しか入れられないようにするタグとかないでしょうかね?? こっちは半角電話番号を入力してもらいたいのです。 どなたかご存知の方おりましたからお願いします。

    • ベストアンサー
    • HTML
  • テキストボックスの入力値チェックについて

    テキストボックスに入力した値に対して半角カナで入力されているかのチェックをコマンドボタン押下時に行いたいのですが、 どのようなコードを書けばよろしいのでしょうか? ついでに、半角数字のみのチェックも教えてください。

  • テキストボックスの入力制限

    VB2005環境です。 ・全角文字のみ入力を受け付けるテキストボックス ・半角文字のみ入力を受け付けるテキストボックス 以上のような入力制限を持つコントロールを用意したいと思っています。 MaskedTextBoxを用いればできるかと思いましたが、それらしき プロパティが見当たりませんでした。 やはりキーイベントを取得して…ということになるのでしょうか?

  • テキストBOXの入力制限について

    テキストBOXを下記のように設定したとします。 <input type="text"name="***" maxlength="30"> この場合は、全角・半角関係なく文字数を30文字入力することができますよね? 今回、私がやりたいことは、バイト数の制限をやりたいんです。 例えばバイト数を30バイトにした場合は、 全角では15文字しか入力できなくて 半角では30文字入力制限をする方法を探しています。 何かよい方法はないものでしょうか???

  • VB.net、テキストボックス入力制限、全角のみ

    VB.net初心者ですよろしくお願いします テキストボックス入力制限で全角文字のみを以下の方法で実現させました (1)テキストボックス選択時のImeMode初期値を全角ひらがなに設定 (2)ボタン押下時のイベントで入力された文字のサイズを確認し、半角が混ざっていたらエラー これで基本的には問題ないのですが、後学のために入力文字自体を全角のみに制限できないかを調べています いろいろ調査してみて半角のみは可能であることがわかり、実際にコーディングもしてみました しかし全角のみは調査しても情報が見つかりません 全角のみの入力制限が可能かどうか、理由も添えてアドバイスいただけると助かります よろしくお願いします。

  • テキストボックスの入力文字を16進数のみに制限する

    VC++2005、.NET2.0、C++/CLIにてWindowsアプリを作成しています。 テキストボックスの入力文字について、 「00」~「FF」の16進数文字(半角)のみ入力可能としたいのですが、 どうやって制限をかければ良いのでしょうか? また、もし16進数のみの制限が不可能であれば、 半角英数字のみの制限でも良いと考えています。

  • JavaScriptについて教えてください。

    JavaScriptについて教えてください。 ringo.html、orange.htmlがあります。 それぞれに、テキストボックスと、submitボタンが一つずつあります。 行いたいことですが、 どちらかの、submitボタンをクリックすると、 それぞれの、テキストボックスの値を表示したいです。 ※hiddenを使用して実現したいです。 【イメージ】 ringo.htmlのテキストボックスに「100」を入力 orange.htmlのテキストボックスに「200」を入力 いずれかの、submitボタンをクリックすると _______________ ringoの入力値は、100です。 orangeの入力値は、200です。 ________________ といったイメージです。 よろしくお願いします。