input校验使用的是 :onkeyup事件
1.校验内容为含0正整数
val.replace(/[^\d]/g, "")
2.只有一位小数的正数
val.toString().replace(/[^\d.]/g, "").replace(/^0+(?=\d)/, '').replace(/\.{2,}/g, ".").replace(".", "$#$").replace(/\./g, "").replace("$#$", ".").replace(/^(\-)*(\d+)\.(\d{0,1}).*$/, "$1$2.$3").replace(/^\./g, "")
下面是对以上正则校验的解释
下面是代码
<el-input
v-model="ruleForm.CheckInRules"
:onkeyup="numberCheckSignIn(ruleForm.CheckInRules)"
/>
// 方法
numberCheckSignOut(val) {
if (this.signOutJudgment) {
// 只有一位小数的正数
this.ruleForm.signOutRules = val.toString().replace(/[^\d.]/g, "").replace(/^0+(?=\d)/, '').replace(/\.{2,}/g, ".").replace(".", "$#$").replace(/\./g, "").replace("$#$", ".").replace(/^(\-)*(\d+)\.(\d{0,1}).*$/, "$1$2.$3").replace(/^\./g, "")
} else {
// 含0正整数
this.ruleForm.signOutRules = parseInt(val).toString().replace(/[^\d]/g, "")
}
}