2

入力フィールド (テキスト) が数字のみを受け入れ、ユーザーが各数字を入力するときに小数点以下 2 桁に自動的にフォーマットするようにするにはどうすればよいですか?

たとえば、フィールドのデフォルト値は 0.00 です。ユーザーは 23.50 と入力したいと考えています。

Step 1: user types 2 - field shows 0.02
Step 2: user types 3 - field shows 0.23
Step 3: user types 5 - field shows 2.35
Step 4: user types 0 - field shows 23.50

前もって感謝します!

4

1 に答える 1

0

次の正規表現は、99.99、99999.99 などに一致します。

\$\d+\.\d{2}

jQuery の.live()関数を使用して、キーアップ イベントをテキスト ボックスに接続します。

$('.textBoxDecimalOnly').live('keyup', function () {
    // inside this keyup hook, grab the value in the text box.
    // if it matches the regex... do something
    // else do something different
});

キーアップが発生したら、その正規表現に対してテキストボックスの値を確認し、答えで希望することを行います。

右から左に機能させるには、文字列を再フォーマットできます...

// 1. get text in the box.
// 2. if length < 3 ... append a "." to the first string.
// 3. if > 3 get the index of the 2nd to last character and append "." just before it.

ライブフック内にそのロジックを詰め込みます。

于 2011-12-30T21:00:03.920 に答える