分享一个工作中常用的正则表达式
input只能输入大于0的数字,如果不满足就清空input,并且给出提示
例如:
Dom
<el-form-item label="合同建筑面积" prop="contractBuildArea">
<div class="area">
<el-input
v-model.number="formData.contractBuildArea"
placeholder="请输入合同建筑面积"
:controls="false"
onkeyup="this.value=this.value.replace(/^[1-9]\d*(\.\d+)?$/,'')/"
onafterpaste="this.value=this.value.replace(/\D/g,'')"
@input.native="changeNumber($event,0)"
/>
<span class="unit">万平方米</span>
</div>
</el-form-item>
Js
changeNumber (e, value) {
const targetValue = e.target.value
var reg = /^[1-9]\d*(\.\d+)?$/
if (targetValue <= value || !targetValue || !reg.test(targetValue)) {
e.target.value = ''
console.log('不符合')
return
}
},
可以看到输入负数,字符串等都会被清空,只能输入整数