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?

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