输入框禁止输入指定字符以外的字符

html代码:

<el-form-item prop="goodsNum">

      <el-input   @input="keyupNum2(obj.goodsNum)"  type="tel" v-model="obj.goodsNum" placeholder="输入补货量" maxlength="4" >

</el-form-item>

JS代码:

keyupNum2(item){

var str = item.toString().replace(/[^\d]/g,'')

    if(item){

                    var that =this

                    setTimeout(function () {

                         that.obj.goodsNum = Number(str)

                     },20)

    }else{

            this.obj.goodsNum =''

         }

}, 

如果不用@input事件的话,捕捉不到中文输入法下通过回车等按键输入的英文字母及其他字符。setTimeout是为了在输入框的值改变后,再重新替换处理变量的值。涉及到input框有自带的默认时间处理顺序。所以使用setTimeout。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容