输入框限制输入的内容格式,如(金额,数字)
金额限制小数点后2位数
<el-input placeholder="请填写费用" v-model="formMoney.total_money" @keyup="formMoney.total_money = checkPrice(formMoney.total_money)"></el-input>
// js
function checkPrice(value){
let checkPlan = '' + value
checkPlan = checkPlan
.replace(/[^\d.]/g, '') // 清除“数字”和“.”以外的字符
.replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的
.replace(/^\./g, '') // 保证第一个为数字而不是.
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
if (checkPlan.indexOf('.') < 0 && checkPlan !== '') {
// 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
checkPlan = parseFloat(checkPlan) + ''
} else if (checkPlan.indexOf('.') >= 0) {
checkPlan = checkPlan
.replace(/^()*(\d+)\.(\d\d).*$/, '$1$2.$3') // 只能输入两个小数
}
return checkPlan
}
数字限制(整数)
<el-input placeholder="请填写数字" v-model="formContract.periods" oninput="value=value.replace(/[^\d]/g, '')"></el-input>