<van-field
v-model="curValue"
label="充值金额"
placeholder="请输入充值金额"
type="number"
input-align="right"
@input="numberFixedDigit"
/>
/**
* 格式化输入金额
* @param e
*/
function numberFixedDigit(e) {
e.target.value = e.target.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
e.target.value = e.target.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
e.target.value = e.target.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数
e.target.value = e.target.value.replace(/^\./g, ''); //首位不能输入“.”
if (e.target.value.indexOf(".") < 0 && e.target.value != "") {//如果没有小数点,首位不能为0,如01、02...
e.target.value = parseFloat(e.target.value);
}
nextTick(() => {
curValue.value = e.target.value
})
}