Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

isNaN e validação para zero - como fica para incluir o mesmo código para não aceitar zero ou número maior que 120.

<meta charset="UTF-8">

<script>

    var idade = parseInt(prompt("Digite sua idade"));

while( isNaN(idade) ) {
    idade = parseInt(prompt("Digite sua idade"));    
}

alert("Sua idade é " + idade);
</script>
3 respostas

Oi Sandra, Boa tarde.

Você pode utilizar o If. O que acha?

<meta charset="UTF-8">

<script>

    var idade = parseInt(prompt("Digite sua idade"));

    if( idade == 0 ||  idade>120 ) {
                idade = parseInt(prompt("Digite sua idade")); 
    alert("Sua idade é " + idade);

}    else {
        alert("Sua idade é " + idade);
    }


</script>
solução!

Eu colocaria assim...

<meta charset="UTF-8">

<script>

    var idade = parseInt(prompt("Digite sua idade"));

while( isNaN(idade) ) {
    idade = parseInt(prompt("Digite sua idade"));    
}

if(idade>0 && idade<120){
    alert("Sua idade é " + idade);
}

</script>

Boa noite, Sandra! Como vai?

Veja só, vc quer que o usuário seja perguntado sobre a idade dele enquanto o valor não for um número OU igual a zero OU maior que 120.

A boa notícia é que o Javascript tem operadores que nos permitem fazer essas operações lógicas "OU" destacadas no meu texto e operadores de comparação que nos permitem verificar se um valor é igual a outro, se um valor é maior que o outro e assim por diante! Traduzindo para Javascript:

var idade = parseInt(prompt("Digite sua idade"));

while( isNaN(idade) || idade==0 || idade>120 ) {
    idade = parseInt(prompt("Digite sua idade"));    
}

alert("Sua idade é " + idade);

Com esse código, teremos o que vc quer! E tbm com ele vc consegue ter um exemplo do operador lógico OU do Javascript representado por || e dos operadores de comparação == que verifica se um valor é igual ao outro e do operador > que verifica se um valor é maior que o outro.

Restou alguma dúvida?

Grande abraço!