elementUI组件el-input输入框只能输入数字或保留两位小数

只能输入数字的两种方法:
方法一:使用type=“number”

<el-input v-model.number='count' type='number' maxlength='9'/>

缺点:
maxlength不生效
可以输入e
可以输入小数点

方法二:使用正则表达式

<el-input v-model.number='count' oninput="value=value.replace(/[^\d]/g,'')" maxlength='9'/>

其中v-model.number确保获得的count值为数字,即使0开头也会被后续数字代替。

输入数字或保留两位小数的表单校验

//不使用表单校验
//缺点:不能输入0.01
<el-input oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" v-model.number="num"></el-input>
//解决:把v-model的number去掉即可
<el-input oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" v-model="num"></el-input>
//原因:v-model.number会把0.0x后的数字转换为0,算是输入框的一个特性吧。

//使用表单校验
cost:[
 { required: true, trigger: 'change', message:'请输入金额'},
 { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入正确的格式,可保留两位小数' }
],

原文链接:https://blog.csdn.net/weixin_42566993/article/details/108330404

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值