Javascript - validation, numbers only

前端 未结 14 1686
感动是毒
感动是毒 2020-12-08 09:52

I\'m trying to get my login form to only validate if only numbers were inputted. I can it to work if the input is only digits, but when i type any characters after a number,

相关标签:
14条回答
  • 2020-12-08 10:42
    function ValidateNumberOnly()
    {
    if ((event.keyCode < 48 || event.keyCode > 57)) 
    {
       event.returnValue = false;
    }
    }
    

    this function will allow only numbers in the textfield.

    0 讨论(0)
  • If you are using React, just do:

    <input
      value={this.state.input}
      placeholder="Enter a number"
      onChange={e => this.setState({ input: e.target.value.replace(/[^0-9]/g, '') })}
    />
    

    <div id="root"></div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
    <script type="text/babel">
    class Demo extends React.Component {
        state = {
          input: '',
        }
        
        onChange = e => {
          let input = e.target.value.replace(/[^0-9]/g, '');
          this.setState({ input });
        }
        
        render() {
            return (
              <div>
                <input
                  value={this.state.input}
                  placeholder="Enter a number"
                  onChange={this.onChange}
                />
                <br />
                <h1>{this.state.input}</h1>
               </div>
            );
        }
    }
    
    ReactDOM.render(<Demo />, document.getElementById('root'));
    </script>

    0 讨论(0)
提交回复
热议问题