JavaScript+vue:自定义指令禁止表单输入非整数

Posted 圈地自萌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript+vue:自定义指令禁止表单输入非整数相关的知识,希望对你有一定的参考价值。

input type="text" 没改成number,造成正则验证在英文输入法下失效...
嗯,再次被自己蠢哭。
              <!--<input type="number" min="0" max="10">-->
              <button style="padding:1px 4px" @click="amountChange(item, -1)">-</button>
                <input id="index" type="number" v-model="item.counter" v-number-only min="1" max="10">
                <!--<input type="text" v-model="item.counter" @input="formatCounter">-->
                <button style="padding:1px 4px" @click="amountChange(item, 1)">+</button>
directives: {
        numberOnly: {
            bind: function(el) {
                el.handler = function() {
                    var formatVal = /^\+?[1-9][0-9]*$/;
                    var val = el.value;
                    if(!formatVal.test(val)){
                        var reg = new RegExp(val,‘g‘);
                        el.value = val.replace(reg, 1);
                    }
                }
                el.addEventListener(‘input‘, el.handler)
            },
            unbind: function(el) {
                el.removeEventListener(‘input‘, el.handler)
            }
        }
    },

 

以上是关于JavaScript+vue:自定义指令禁止表单输入非整数的主要内容,如果未能解决你的问题,请参考以下文章

Vue 常用特性:表单操作自定义指令计算属性侦听器过滤器生命周期

vue 自定义指令input表单的数据验证

表单修饰符自定义指令计算属性侦听器过滤器生命周期

表单修饰符自定义指令计算属性侦听器过滤器生命周期

javascript Vue自定义指令

javascript 自定义Vue指令