uni-app中对于金额输入的验证(保留两位小数)

input事件中绑定事件
<input
class="inputText"
type="digit"
v-model="fee"
placeholder="请输入"
style="text-align:right"
@input="handleInput"
@blur="selectFee"
:maxlength="moneyMaxLeng"
/>
handleInput(e) {
let val = e.target.value;
val = val.replace(/^./g, "");
val = val.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
val = val.replace(/.{2,}/g, "."); //只保留第一个. 清除多余的
val = val.replace(/^0+./g, "0.");
val = val.match(/^0+[1-9]+/) ? (val = val.replace(/^0+/g, "")) : val;
val = val.match(/^\d*(.?\d{0,2})/g)[0] || "";
val = val
.replace(".", "#")
.replace(/./g, "")
.replace("#", ".");
if (val.includes(".")) {
let numDian = val.toString().split(".")[1].length;
if (numDian === 2) {
this.moneyMaxLeng = val.length;
}
} else {
this.moneyMaxLeng = 8;
}
this.fee = val;
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容