1
resposta

Como impedir que o usuário digite algo diferente de números positivos?

Pesquisei e encontrei essa solução, mas ela ainda permite que coloque vírgula ou ponto no campo quando eu digito algum número + "," + ", ou .":

<input class="quantidade-input" id="quantidade" type="number" placeholder="100" min="1" max="10" oninput="this.value = this.value.replace(/^0+/, '')">

Alguém sabe como arrumar? Essa solução faz com que quando digitado caracteres inválidos, apague tudo que está no campo, não teria outro solução que, ao invés, de apagar tudo que está no campo, simplesmente não aceite o caractere?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Luidi

<input class="quantidade-input" id="quantidade" type="number" 
  placeholder="100" 
  min="1" max="100"
  title="Entre com um valor entre 1 e 100"
  oninput="this.value = (parseInt(this.value) > this.max)? this.max: this.value"
  onkeypress="return /[0-9]/.test(event.key)"  >
  • oninput - verifica se passou do valor máximo

  • onkeypress - aceita apenas números