vue+element实现输入框只能输入数字和一个点并且开头不为点的需求,在网上找了好多都不能实现,问了前端不多说上代码

</el-form-item>
<el-form-item label="XXXXXXXXXXXXX" prop="areafv">
<el-input v-model="dataForm.XXXX" :input="formatData('XXXX',dataForm.XXXX)" placeholder="XXXXXXXX"></el-input>
</el-form-item>

formatData (type, value) {
if (value) {
var newValue = value.toString()
newValue = newValue.replace(/[^\d.]/g, '') // 清除“数字”和“.”以外的字符
newValue = newValue.replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的
newValue = newValue.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue[0] && newValue[0] === '.') {
newValue = '0' + newValue
}
this.dataForm[type] = newValue
}
},
posted @ 2020-04-10 21:27  也有趣  阅读(454)  评论(0编辑  收藏  举报