el-input限制只能输入数字(开发小记)

输入框中限制一般有三种处理方法正则表达式

第一种:设置type属性(不推荐)this

设置type属性为number,text等等,此方法输入框的后面会有没必要要样式出现spa

<el-input  type="number"></el-input>

第二种:在属性中添加onkeyup或者oninput进行正则判断code

onkeyup,oninput,onchange各有好坏,在这里,推荐onkeyup,在要求不是过高的系统中能够这样使用orm

<el-input 
    v-model="form" 
    onkeyup="value=value.replace(/[^\d]/g,0)">
</el-input>

第三种:经过监听事件监听,对于一些特殊要求的输入框能够采用此方法blog

当输入完毕后检查整段输入值的规则是否符合,若是不符合就设置为空。事件

由于不知道用户中途会不会输入英文字母,汉字,特殊字符等等不规则字符。input

采用第二种方法就会难以判断字符的格式,最后用户确认时说不定会报错。form

以手机号码为例(其余格式都同样,都只是换一下正则表达式罢了)class

<el-input
     v-model="form.telephone"
     placeholder="请输入11位手机号"
     @change="confirmTelephone">
</el-input>

methods中

confirmTelephone() {
        if (!/^1[0-9]{10}$/.test(this.form.telephone))
          this.form.telephone = '';
 },
相关文章
相关标签/搜索