2

https://github.com/RobinHerbots/jquery.inputmaskにある jQuery プラグインを使用していますが、整数と小数に対応するパターンを導き出すことができないようです。例えば、

有効にするには、次のものが必要です。

      10
      150
      12.25
      0.45

現時点で私はやっています:

$('#from_id').inputmask("9{0,5}.9{0,2}");

ただし、これは、ユーザーが小数点以下を指定しない場合、結果の出力は次のようになることを意味します。

たとえば、ユーザーが 12 のみを入力したい (そして小数点を指定しない) 場合、出力は次のようになります。

12___.__

(マスクが小数点を待っているため)

しかし、ユーザーが 12.00 のように小数点を指定すると、出力は次のようになります。

12.00 

誰かがこの問題で私を助けてくれますか?

4

2 に答える 2

5

オプションのパラメーターを次greedyのように使用してみてください。

$('#from_id').inputmask({'mask':"9{0,5}.9{0,2}", greedy: false});

optional-masks-with-greedy-false を読む

上記のマスクを検証できます。または、独自のロジックを使用して、次のように検証します。

$(function(){
    $('#id').on('keyup', function(e) {
        if (!this.value.match(/^\d{0,5}(\.[0-9]{1,2})?$/)) {
            $(this).addClass('error');// adding error class
        } else {
            $(this).removeClass('error');// remove error class
        }
    });
});

デモ

または、単純にtoggleClassを次のように使用します。

$(function() {
  $('#id').on('keyup', function(e) {
    $(this).toggleClass('error', !this.value.match(/^\d{0,5}(\.[0-9]{1,2})?$/));
  });
});
.error {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="id" />

于 2014-08-27T11:58:00.940 に答える
1

複数のマスクを使用してみましたか?

$('#from_id').inputmask({'mask':["9{0,5}.9{0,2}", "999"]});
于 2014-09-14T18:02:28.050 に答える