2011-08-10 8 views

答えて

2

replace関数といくつかの正規表現を使用すると、これを実行できます。

<input type="text" name="textbox" onkeyup="integersOnly(this)"> 

<script type="text/javascript"> 
    function integersOnly(obj) { 
     obj.value = obj.value.replace(/[^0-9-.]/g,''); 
    } 
</script> 

これも小数点以下を表します。

あなただけの整数を使用したい場合:

obj.value = obj.value.replace(/[^0-9]/g,''); 

すべてこの関数が入力されているものを取って、数字でない任意の文字を削除してやっています。

これは、jQueryでも行うことができます。 jQueryを使用して私に知らせてください、私はあなたが私がそれをやる方法を知らせるでしょう。

EDIT

あなたのコメントに続いて次の更新機能を使用することができます。

var integer_only_warned = false; 
function integersOnly(obj) { 
    var value_entered = obj.value; 
    if (!integer_only_warned) { 
     if (value_entered.indexOf(".") > -1) { 
      alert('Please enter an integer only. No decimal places.'); 
      integer_only_warned = true; 
      obj.value = value_entered.replace(/[^0-9]/g,''); 
     } 
    } 
    obj.value = value_entered.replace(/[^0-9]/g,'');   
} 

何これは小数点が入力された場合は、最初のチェックしてやっています。それがある場合は、ユーザーに警告して小数点以下を削除します。また、チェックを追加して、警告がページロードごとに1回しか表示されないようにしました。

希望に役立ちます。

+0

こんにちは代わりに置き換え、私は見つけることができますそれが整数か浮動小数点か(10.2のように)。もしuse関数がnumとしてreplacinngを提案していたら102。しかし、floatなら整数を入力するような警告メッセージを表示することができます。 – Ram

+0

ちょうど確認します... –

+0

私は、上記の答えを関数の更新版で更新しました。希望が役立ちます。 –

関連する問題