Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Validando endereço brasileiro com RegEx e JS

RegEx: ^([A-Za-zÀ-Úà-ú -]+),\s(\d+[A-Za-z]?),\s(CEP\s\d{5}-\d{3})

function valida_endereco(campo) {

    const patternNome = /^([A-Za-zÀ-Úà-ú -]+),\s(\d+[A-Za-z]?),\s(CEP\s\d{5}-\d{3})$/.test(campo)
    
    if (!patternNome) {
        console.log(`"${campo}" É um endereço INVÁLIDO`);
    }
    else {
        console.log(`"${campo}" É um endereço VÁLIDO`);
    }

    return campo;
}

valida_endereco('Rua das Flores, 123B, CEP 60321-105')
1 resposta
solução!

Oi, Lucas! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Sua expressão regular está muito bem estruturada para validar um endereço no formato "Rua, número, CEP". Continue assim!

Uma dica interessante para o futuro é usar grupos nomeados nas expressões regulares para facilitar a leitura e manipulação das partes do endereço. Veja este exemplo:


const regex = /^(?[A-Za-zÀ-Úà-ú\s-]+),\s(?\d+[A-Za-z]?),\sCEP\s(?\d{5}-\d{3})$/;

const resultado = regex.exec('Rua das Flores, 123B, CEP 60321-105');
console.log(resultado?.groups);

No código acima, usamos regex.exec e, se o endereço for válido, ele retorna um objeto com as partes separadas: rua, numero e cep.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura

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