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?