diff --git a/src/main/resources/static/assets/js/project_common.js b/src/main/resources/static/assets/js/project_common.js index 58c0abc..0f297de 100644 --- a/src/main/resources/static/assets/js/project_common.js +++ b/src/main/resources/static/assets/js/project_common.js @@ -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); +} + /** * 保留整数 */