小数位数和负号问题

master
xxssyyyyssxx 2021-11-30 13:27:26 +08:00
parent f29ef2d3da
commit 90ec1465d1
1 changed files with 17 additions and 14 deletions

View File

@ -40,32 +40,35 @@ function bindNumberInput() {
//键盘键弹起的时候
$inputs.keyup(function () {
var value = $(this).val();
value = value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
if (value.indexOf(".") < 0 && value != "") {
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
value = parseFloat(value);
}
$(this).val(value);
keepDigital($(this));
});
//失去焦点时再校验一遍
$inputs.blur(function() {
var value = $(this).val();
var reg = new RegExp("^[0-9]+(.[0-9]{1,2})?$");
/*var reg = new RegExp("^(\-)?[0-9]+(.[0-9]{1,2})?$");
if (reg.test(value)) {
//是数字就是数字,可以两位或者不带小数
$(this).val(value);
} else {
$(this).val("");
}
}*/
keepDigital($(this));
});
}
function keepDigital($input) {
var value = $input.val();
value = value.replace(/[^\-\d.]/g, ""); //清除“-”、“数字”和“.”以外的字符
value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
value = value.replace(/^(\-)?(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
if (value.indexOf(".") < 0 && value != "") {
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
value = parseFloat(value);
}
$input.val(value);
}
/**
* 保留整数
*/