プロが教えるわが家の防犯対策術!

タイトルの通りなのですが、あるテキストボックスに数字しか入力できないようにしたいのですが可能でしょうか?また、

「あいうえお 12345 「」:・、¥・」

というような文字列をコピーし、そのテキストボックスにペーストした際にも数字の12345だけが残るといった事も実現したいのですが…

どなたかご存知の方いらっしゃいましたら教えて頂けると幸いです。

A 回答 (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,"");
}
    • good
    • 2

>英数字



では、こんな感じで

<input type="text" onKeyup="this.value=this.value.replace(/[^0-9a-z]+/i,'')">
    • good
    • 16

以下は一例です。



<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 …
    • good
    • 4

たとえば



<input type="text" onKeyup="this.value=this.value.replace(/[^0-9]+/,'')">
    • good
    • 7
この回答へのお礼

すごいです(>_<)ありがとうございます!

ちなみになんですが、数字限定ではなく英数字といった事はできるんでしょうか?

教えて頂いたもののしくみがよくわかっていないド素人ですみません 汗

お礼日時:2008/12/01 15:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!