Esta pregunta y sus respuestas han sido cerradas.
Prueba esto
<input type="number" min="1" step="any" />
Con expresiones regulares puedes usar eso:
^[^0]\d+"
Y agregue el resto de su uso, esto evitará que 0 esté al principio. [^] haga coincidir cualquier carácter que no esté en el conjunto, por lo que poner 0 adentro evitará que el primer carácter sea 0 (con [^0]).
class Example extends React.Component { constructor(props) { super(props); this.state = { financialGoal: '' } } handleChange(evt) { const financialGoal = (evt.target.validity.valid) ? evt.target.value : this.state.financialGoal; this.setState({ financialGoal }); } render() { return ( <input type="number" pattern="[0-9]*" min="1" step="any" onInput={this.handleChange.bind(this)} value={this.state.financialGoal} /> ) } } ReactDOM.render(<Example />, document.body);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>