表单正则使用方法:
rules: {
// trigger: ['blur', 'change']
// blur星 change下面提示
// informantTime: [{ required: true, message: '填报时间', trigger: ['blur', 'change'] }],
expendAmount: [
{required: true, message: '支出金额(元)',trigger: 'blur'},
{pattern: /^\d+(.\d{1,2})?$/,message: "请输入正确的金额",trigger: "blur",},
],
},
输入框控制只能输入两位小数点:
<el-input
v-model.trim="formData.expendAmount"
placeholder="请输入支出金额"
:disabled="popType == 'detail'"
@input="changeInput($event,'collectAmount')"
>
</el-input>
changeInput(e,type){
console.log(e);
let num = e.replace(/[^0-9.]/g, ''); // 只保留数字和小数点
let parts = num.split('.');
if (parts.length > 1 && parts[1].length > 2) {
parts[1] = parts[1].slice(0, 2); // 限制小数部分最多两位
// this.formData.expendAmount这个值就是你要控制的字段
// this.formData.expendAmount = parts.join('.');
this.formData[type] = parts.join('.');
console.log(this.formData[type]);
}
}
已知值但是只显示最多两位小数点(不做四舍五入法):
//sum这个是拿到的值
Number(sum.toString().match(/^\d+(?:\.\d{0,2})?/))