<el-form-item
label="金额"
prop="money"
:rules="moneyRules"
>
<el-input
v-model.number="objForm.money"
placeholder="请输入"
@input="limitNum($event)"
clearable
>
<template slot="append">万元</template>
</el-input>
data中
moneyRules: [
{ required: true, message: '不能为空' },
{ pattern: /(^[\d]|^[1-9][\d]{0,8})($|[\.][\d]{1,2}$)/, message: '格式不正确', trigger: 'blur' }
],
methods中
limitNum(value) {
this.objForm.money = limitNumTool(value, 9)
},
utils/tools.js中
export function limitNumTool(value, figure) {
let reg = new RegExp('^\\d*(\\.?\\d{0,' + figure + '})', 'g')
let str =
('' + value)
.replace(/[^\d^\.]+/g, '')
.replace(/^0+(\d)/, '$1')
.replace(/^\./, '0.')
.match(/^\d*(\.?\d{0,2})/g)[0] || ''
if (str.indexOf('.') > -1) {
str = str.slice(0, Number(figure) + 3)
} else {
str = str.slice(0, figure)
}
return str
}