如何验证,使用jquery keypress输入最多2位小数的负和正十进制值

时间:2015-05-15 12:29:01

标签: jquery

我有一个网格,我必须允许用户输入正数或负数,最多2位小数。



                
//On keypress event
              amountValidation: function (e) {

                    $('.js-amt').keypress(function (e) {
                        var character = String.fromCharCode(e.keyCode)
                        var newValue = this.value + character;
                        if (isNaN(newValue) || hasDecimalPlace(newValue, 3)) {
                            e.preventDefault();
                            return false;
                        }
                    });

                    function hasDecimalPlace(value, x) {
                        pointIndex = value.indexOf('.');
                        return pointIndex >= 0 && pointIndex < value.length - x;
                    }                   

                        
                    
                },
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您可以使用:

 $('.js-amt').keypress(function (e) {
   var regex = /^-?\d+(\.\d{0,2})?$/g;
   if (!regex.test(this.value)) {
     this.value = '';
}});

您也可以使用:

 $('.js-amt').keypress(function (e) {
   $(this).val(function(i,val){ return parseFloat(val,10).toFixed(2) });
 });