0

jqueryを使用してユーザー入力データを検証しようとしています。これが私が使用するコードです。

$('#ole').keypress(function(event) {
              if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
                event.preventDefault();
              }
            });

上記のコードでは、整数と1つのドットのみが許可されます。必要なのは、ドットの後に2つの整数のみを許可することです。

それを達成する方法は?

4

2 に答える 2

3

これで試してください

HTML

<input id="ole" class="decimal">​

jQuery

$(document).on('change blur','.decimal',function() {
      var amt = parseFloat(this.value);
      if(isNaN(amt)) {
        $(this).val('');
      }
      else {
         $(this).val(amt.toFixed(2));
      }
    });

working DEMO </ p>

于 2012-08-01T12:22:22.033 に答える
1

正規表現を使用して、小数点以下を四捨五入します。

$('#ole').on('blur', function()
{
    var val = $(this).val();

    if (val.match(/^\d+\.{0,1}\d+$/)) 
    {
        // Convert to int if needed
        val = parseInt(val);

        val = Math.round(val *100)/100; // Round to 2 decimals
        $(this).val(val);
    }
});​
于 2012-08-01T12:32:57.840 に答える