Vue输入金额格式
<input ref="content" type="text" :disabled="disabled" @input="handleAmountChange" v-model.number.trim="totalval" />
代码如下(示例):
handleAmountChange(e) {
//过滤e字符
e.target.value = e.target.value.replace("e", "");
//判断输入是数字和.
e.target.value = e.target.value.replace(/[^\d.]/g, "");
this.totalval = e.target.value;
// 必须保证第一个为数字而不是.
this.totalval = this.totalval.replace(/^\./g, "0.");
// 保证只有出现一个.而没有多个.
this.totalval = this.totalval.replace(/\.{2,}/g, ".");
// 保证.只出现一次,而不能出现两次以上
e.target.value = e.target.value
.replace(".", "$#$")
.replace(/\./g, "")
.replace("$#$", ".");
//只能输入两个小数
this.totalval = this.totalval.replace(/^()*(\d+)\.(\d\d).*$/, "$1$2.$3");
},