tk挠痒痒网址发布页-秘密武器
历史搜索

js 实现input输入框内数字的小数点前八位后二位数的控制

游客2025-05-16 08:07:01

最近在做一个报价系统,要求金额输入框中限制小数点前面最多 8 位后面 2 位小数的控制  如下图:

js 实现input输入框内数字的小数点前八位后二位数的控制 1

上代码

HTML 代码

<input id="creditorScales_v" type="number" onkeyup="clearNoNum(this,5)">

JS 代码

// 报价值的整数位数与小数判断
function clearNoNum(obj, digits) {
    var temp = obj.value;
    if (temp < 0) {
        obj.value = "";
        return;
    }
    var posDot = temp.indexOf(".");// 返回指定字符在此字符串中第一次出现处的索引
    if (posDot < 0) {// 不包含小数点
        if (temp.length <= digits) { return;//小于八位数直接返回 } else { if (temp.length > digits) {// 大于八位数就删掉第九位(只会保留八位)
                obj.value = temp.substring(0, digits);
            }
            return;
        }
    }
    var lastDot = temp.lastIndexOf(".");
    if (posDot != lastDot) {
        obj.value = "";
        return;
    }
    // 走到这有小数点
    if (posDot > digits) {
        if (temp.length > digits) {// 大于八位数就删掉第九位(只会保留八位)
            obj.value = temp.substring(0, digits);
        }
        return;
    }
    if (temp.length - posDot - 1 > 2)// 如果包含小数点
    {
        // 删除小数点后的第三位
        obj.value = temp.substring(0, posDot + 3);
    }
}
标签:html

本文是由用户"游客"发布,所有内容的版权归原作者所有。没有经过书面许可,任何单位或个人不得以任何形式复制、转载、引用本网站的内容。否则将追究法律责任。

相关专题