A estrutura na proteção de valores eu fiz correto:
let numero = parseInt(document.getElementById('quantidade').value);
let de = parseInt(document.getElementById('de').value);
let ate = parseInt(document.getElementById('ate').value);
let diferenca = ate-numero+1;
if(numero>diferenca || de >= ate){
alert("Revise os campos")
reiniciar();
Porém continuava gerando o número ou até mesmo travava, ao pesquisar no fórum ví que devia ser implementado o "return" no final do IF, assim:
if(numero>diferenca || de >= ate){
alert("Revise os campos")
reiniciar();
return;
Até funcionou mas não entendi o que ele está executando nesse caso, alguém pode me ajudar?