ReactJs prevent e and dot in an input type number

前端 未结 6 1540
轮回少年
轮回少年 2020-12-18 01:52

I would like to prevent e and . to be type in an . Without jQuery or using step attribute.

6条回答
  •  Happy的楠姐
    2020-12-18 02:00

    With React you could do something like:

    class Test extends React.Component {
       constructor(){
          super();
          this.state = {value: ''};
          this.onChange = this.onChange.bind(this)
       }
    
       onChange(e){
          const re = /^[0-9\b]+$/;
          if (e.target.value == '' || re.test(e.target.value)) {
             this.setState({value: e.target.value})
          }
       }
    
       render(){
         return 
       }
    }
    
    React.render(, document.getElementById('container'));
    

    Here is fiddle.

提交回复
热议问题