js 限制输入框只能输入数字的问题

常规情况下,input设置为 type=‘number’  可以避免汉字,字符,字母,空格的输入,但是不能避免小减号 以及小键盘的减号-,加号+的输入,

可以考虑 监控 输入框的oninput事件,方式如下:
<input type='number' oninput='handleInput' >
function handleInput(e){
  this.value = e.target.value.replace(/D+/g, '');   
}

最好的方式是利用指令的方式,方法如下:
Vue.direcetives('onlyNumber',{
  bind:function(el){
    var handler = function(e){
      e.value = e.target.value.replace(/D+/g, '')
    }
    el,addEventListener('input', handler )

  },
  unbind:function(el){
    el.removeEventListener('input')
  }
})

原文地址:https://www.cnblogs.com/FineDay/p/9639572.html