输入框键盘事件,监听只能输入整数和2位小数方法

1.输入整数

keyUpVal: function (e) {
            var input = $(e.currentTarget).get(0);
            input.value = input.value.replace(/[^\d]/g, ''); // 清除“数字”和“.”以外的字符
            input.value = input.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
            if (input.value.indexOf('.') < 0 && input.value != '') { // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02
                input.value = parseFloat(input.value);
            }
            if (input.value == '0') {
                input.value = '';
            }
        }

2.最多输入2位小数

keyUpVal1: function (e) {
            var input = $(e.currentTarget).get(0);
            input.value = input.value.replace(/[^\d.]/g, ''); // 清除“数字”和“.”以外的字符
            input.value = input.value.replace(/\.{2,}/g, '.'); // 只保留第一个. 清除多余的
            input.value = input.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
            input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); // 只能输入两个小数
            if(input.value.indexOf('.') < 0 && input.value != '') { // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02
                input.value = parseFloat(input.value);
            }
            if (input.value.indexOf('.') == 0) {
                // 小数点在第一位 首位添加0
                input.value = '0' + input.value;
            }
        }

猜你喜欢

转载自www.cnblogs.com/wpp281154/p/11890147.html