需求:输入金额 限制:1、可输入整数、或1-2位小数 2、不允许以小数点结束 3、不允许以0开头 4、不允许输入数字和小数点以外的值
// html
<el-input
placeholder="请输入"
v-model="formData.budgetAmount"
oninput="value=value
.replace(/[^\d^\.]+/g, '') // 限制输入数字和小数点以外的值
.replace(/^0+(\d)/, '$1') // 限制输入以0开头的值
.replace(/^\./, '0.') // 以小数点开头的值,替换为0.xxx
.match(/^\d*(\.?\d{0,2})/g)[0] || ''" // 以数字开头,只有一个小数点,而且小数点后面只能有0到2位小数
@blur="handleAmountBlur"
>
// js
handleAmountBlur(e) {
// 限制输入值以小数点结尾
if (new RegExp(/\.$/).test(e.target.value)) {
this.formData.budgetAmount = e.target.value.replace(/(\d*)\.$/, '$1')
}
}