• ベストアンサー

テキストボックスに数字しか入力できないようにするには?

タイトルの通りなのですが、あるテキストボックスに数字しか入力できないようにしたいのですが可能でしょうか?また、 「あいうえお 12345 「」:・、¥・」 というような文字列をコピーし、そのテキストボックスにペーストした際にも数字の12345だけが残るといった事も実現したいのですが… どなたかご存知の方いらっしゃいましたら教えて頂けると幸いです。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>英数字 では、こんな感じで <input type="text" onKeyup="this.value=this.value.replace(/[^0-9a-z]+/i,'')">

その他の回答 (3)

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

英数字の場合は以下のように修正します。 function onlyAlphaNumeric() {   var k = event.keyCode;   if ( k == 9 || k == 13 ) return;  //タブ、リターン   if ( k >= 48 && k <= 57 ) return;  //数値   if ( k >= 65 && k <= 90 ) return;  //英大文字   if ( k >= 97 && k <= 122 ) return; //英小文字   event.returnValue = false; //上記以外はキー入力を取り消す } function replaceAlphaNumeric(txt) {   txt.value = txt.value.replace(/[^\da-z]/gi,""); }

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

以下は一例です。 <SCRIPT LANGUAGE="JavaScript"> function onlyNumeric() {   var k = event.keyCode;   ( k == 9 || k == 13 || ( k >= 48 && k <= 57 )) return;   event.returnValue = false; } function replaceNum(txt) {   txt.value = txt.value.replace(/\D/g,""); } </SCRIPT> <INPUT TYPE=TEXT OnKeyPress="onlyNumeric()" OnBlur="replaceNum(this)"> キー入力では数字、TAB、RETURN のみ受け入れます。 但し、コピペされると非数字でも入力されます(キー押下でないため) フォーカスが移動すると、非数字を削除します。 正規表現の構文は以下の通り。 http://msdn.microsoft.com/ja-jp/library/cc392020.aspx

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

たとえば <input type="text" onKeyup="this.value=this.value.replace(/[^0-9]+/,'')">

blue_monday_88
質問者

お礼

すごいです(>_<)ありがとうございます! ちなみになんですが、数字限定ではなく英数字といった事はできるんでしょうか? 教えて頂いたもののしくみがよくわかっていないド素人ですみません 汗

関連するQ&A