如何在数字类型中输入0-9(不包括' e')

时间:2018-03-30 07:43:39

标签: javascript html reactjs redux-form

我想知道我如何使用type=number只能输入0到9而没有' e'在 javascript

<Field 
    name="weight" 
    type="number" 
    component={TextField} 
    placeholder="" 
    label="Weight(%)"  
    width={250} />

谢谢

1 个答案:

答案 0 :(得分:0)

可以使用JavaScript,通过合并type="text"代替number并对keypress事件应用条件检查,如下所示:

<div>
  <h4>Allow Only Numbers </h4>
  <input type="text" name="onlyNumbers" id="numberField" />
</div>
<script>
  function allowNumbersOnly(e) {
    var keyCode = e.which;
    if (keyCode < 48 || keyCode > 57) { // keyCode for '0' is 48 and for '9' it is 57
      e.preventDefault();
    }
  }
  document.getElementById('numberField').addEventListener('keypress', allowNumbersOnly);
</script>