js 实现input输入框内数字的小数点前八位后二位数的控制
最近在做一个报价系统,要求金额输入框中限制小数点前面最多 8 位后面 2 位小数的控制 如下图:
上代码
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); } }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » js 实现input输入框内数字的小数点前八位后二位数的控制
码云笔记 » js 实现input输入框内数字的小数点前八位后二位数的控制