Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何阻止用户添加+;或-在react js的输入字段中?_Javascript_Reactjs_Input_Numbers - Fatal编程技术网

Javascript 如何阻止用户添加+;或-在react js的输入字段中?

Javascript 如何阻止用户添加+;或-在react js的输入字段中?,javascript,reactjs,input,numbers,Javascript,Reactjs,Input,Numbers,基本上,输入字段应该只接受1-999值 输入字段: <input type="number" value={value} onChange={this.props.onViltMaxUserChange} min="0" max="999" /> 但用户可以添加----或+++ 当用户输入+或-时,不会触发onChange。 我不想让用户输入这些 我如何才能做到这一点?您可以使用正则表达式验证输入值 /^[0-9]{1,3}$/.test(value)在onK

基本上,输入字段应该只接受
1-999

输入字段:

<input
  type="number"
  value={value}
  onChange={this.props.onViltMaxUserChange}
  min="0"
  max="999"
/>

但用户可以添加
----或+++
当用户输入
+或-
时,不会触发onChange。 我不想让用户输入这些


我如何才能做到这一点?

您可以使用正则表达式验证输入值
/^[0-9]{1,3}$/.test(value)
onKeyUp
事件中。

这是否回答了您的问题?添加此事件:-onKeyDown={(evt)=>[“e”,“e”,“+”,“-”]。包括(evt.key)和&evt.preventDefault()
  onViltMaxUserChange = _.throttle(e => {
    let { value, min, max } = e.target;
    if (value !== '' && !(_.inRange(value, min, max))) return false
    this.setState({ value: value });
  }, 50);