2
respostas

[Projeto] Código Desafio 1

document.querySelector('h1').textContent = 'Hello, World!';

function verificarBotaoConsole() {
    console.log('O botão foi clicado!');
}

function verificarBotaoAlerta() {
    alert('Eu amo JS!');
}

async function verificarBotaoPrompt() {
    let cidade;
    while (true) {
        cidade = prompt('Digite o nome da cidade que você mais gosta:');
        if (!cidade) continue;
        // Não aceita números ou strings vazias
        if (!/^[A-Za-zÀ-ÿ\s'-]+$/.test(cidade.trim())) {
            alert('Por favor, digite um nome de cidade válido.');
            continue;
        }
        // Verifica se a cidade existe usando a API Nominatim (OpenStreetMap)
        try {
            const response = await fetch(`https://nominatim.openstreetmap.org/search?city=${encodeURIComponent(cidade.trim())}&format=json`);
            const data = await response.json();
            if (data.length > 0) {
                alert(`Estive em ${cidade} e lembrei de você!`);
                break;
            } else {
                alert('Essa cidade não existe. Deixe de mentir!');
            }
        } catch (e) {
            alert('Erro ao verificar a cidade. Tente novamente.');
        }
    }
}

function verificarBotaoSoma() {
    let n1;
    while (true) {
        n1 = Number(prompt('Digite o primeiro número inteiro:'));
        if (Number.isInteger(n1)) break;
        alert('Por favor, insira um número inteiro.');
    }
    let n2;
    while (true) {
        n2 = Number(prompt('Digite o segundo número inteiro:'));
        if (Number.isInteger(n2)) break;
        alert('Por favor, insira um número inteiro.');
    }
    alert(`A soma é: ${n1 + n2}`);
}
2 respostas

Oi, Pedro! Como vai?

Gostei bastante da forma como você implementou as validações nos prompts e a busca pela cidade via API. Isso mostra atenção aos detalhes e preocupação com a experiência do usuário.

Uma dica interessante para o futuro é utilizar o método toLowerCase() para padronizar entradas de texto antes de comparações, evitando diferenças causadas por maiúsculas e minúsculas. Veja este exemplo:


let cidade = prompt('Digite o nome da cidade:');
console.log(cidade.toLowerCase());

Este código transforma a entrada para letras minúsculas, facilitando comparações.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Muito interessante essa dica! Não fazia ideia da existência.