#说明
Element-ui使用过程中,一些需求总是要求我们对输入控件的键入内容进行限制,此笔记就将记录这些常用操作
1、输入框限制只能输入数字或小数点
是在输入时限制每次输入的内容而不是整体校验
Ⅰ- 手动加正则限制
- 输入框中增加
oninput属性就能限制,同理在onchange事件中也能生效- 带小数点的纯数字正则校验:
/[^\d^.]+/g,/[^0-9.]/g- 纯数字正则校验:
/[^\d.]/g
<el-inputoninput="value=value.replace(/[^\d^.]+/g,'')"v-model="form.operateExamScore1"/>
Ⅱ - 将输入框type设置为number
<el-inputtype="number"v-model="form.operateExamScore1"/>
Ⅲ - el-input type=number时字数限制不起作用
ue使用element-ui的el-input 时,不设置type属性,maxlength是可以正常限制字数。
但如果想要下面这样的效果
需要让type=“number” ,这个时候maxlength就不起作用了。
解决方法是改成oninput方法监听:加入oninput="if(value.length > 最大长度) value = value.slice(0,最大长度)"
<el-form-item ><el-inputtype="number"oninput="if(value.length > 4) value = value.slice(0,4)"v-model="scope.row.operateExamScore2"/></el-form-item>
2、校验输入格式为数字且为最多能带两位小数点的正数
整体校验数据的内容,一般在form表单组件中使用
```javascript // 面积正则表单-可根据实际需求对该方法进行调整 const checkAddrArea = (rule, value, callback) => { var patrn = /^\d{1,9}(.{0}|.{1}\d{1,2})?$/ if (patrn.test(value)) { return callback() } else { return callback(new Error(‘只能输入数字并且最多两位小数’)) } }
const relus = { addrArea: [{ required: true, message: ‘必填项不可为空’, trigger: ‘blur’ }, { trigger: ‘blur’, validator: checkAddrArea }], } ```

