产品经理在下需求的时候经常就会有进入输入限制,比如只能输入两位小数,最多输入多少位等,下面这个方法就是限制了金额输入
input 框的类型必须是text...
value:输入框传输的值..
before:指定小数点前面的位数..
after:指定小数点后面的位数..
state: 是否可以输入小数点, 默认为true,可以输入小数点. / false, 不能输入小数点.
Mixin_limitInputNum(value, before, after, state = true) {
value = value.replace('。', '.');
let newBefore = parseFloat(before);
let newAfter = parseFloat(after);
value = value.replace(/[^ \d.]|\s|^\./g, "");
value = value.replace(/^0{2,}/g, "0");
if (state) {
value = value.replace(/\.{2,}/g, ".");
}
else {
value = value.replace(/\./g, "");
}
value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
if (value.indexOf(".") >= 0) {
value = value.split(".")[0].slice(0, newBefore) + "." + value.split(".")[1].slice(0, newAfter);
// return value
}
else {
value = value.slice(0, newBefore);
// return parseFloat(value) || value
}
return value
},