input输入框只能输入金额,并且自动填充后两位小数
methods里面定义两个验证方法:
validateNumberInput(e,item) {
let value = e.target.value.replace(/[^\d.]/g,'').replace(/\.{2,}/g,'.').replace('.','$#$').replace(/\./g,'').replace('$#$','.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
if(value >= 999999999.99) {
this.priceListForm[item] = 999999999.99;
}else {
this.priceListForm[item] = value;
}
},
blurNumberInput(e,item) {
if(e.target.value && e.target.value.indexOf('.') <= 0) {
this.priceListForm[item] = e.target.value + '.00'
}
},
input标签内:
<el-form-item label="NYMEX WTI:" prop="nymexWti">
<el-input class="input-width" v-model="priceListForm.nymexWti" @keyup.native="validateNumberInput($event,'nymexWti')" @blur="blurNumberInput($event,'nymexWti')"></el-input>
</el-form-item>