// 格式化限制数字文本框输入,只能数字或者两位小数
function input_num() {
let sNum = state.value.toString(); //先转换成字符串类型
if (sNum.indexOf(".") == 0) {
//第一位就是 .
console.log("first str is .");
sNum = "0" + sNum;
}
sNum = sNum.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
sNum = sNum.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
sNum = sNum
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
sNum = sNum.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
if (sNum.indexOf(".") < 0 && sNum != "") {
sNum = parseFloat(sNum);
}
state.value = sNum;
}
input金额输入
最新推荐文章于 2024-04-08 10:28:36 发布