JSFiddle - React, Tailwind, and code Playground

HTML

<input type="text" id="cep" placeholder="CEP"/>
<input type="text" id="rua"/>
<input type="text" id="cidade"/>
<input type="text" id="bairro"/>
<input type="text" id="estado"/>

JavaScript

/**
 * Busca CEP by Hugo Sóstenes
 *
 */
$('#cep').change(function(){
    var cep = $(this).val().replace(/\D*/g,'');
    if (cep.length != 8) return;
    $.ajax({
        url: 'http://cep.republicavirtual.com.br/web_cep.php?cep='+cep+'&formato=json',
        dataType: 'json',
        cache: false,
        beforeSend: function(){
            // implemente sua animação aqui
            console.log('processando...');    
        }
    }).done(function(data){
        console.log(data); 
        if (data.resultado > 0){
            $('#rua').val(data.logradouro);
            $('#cidade').val(data.cidade);
            $('#bairro').val(data.bairro);
            $('#estado').val(data.uf);
        }
        else alert('cep não encontrado');
    }).always(function(){
       // esconde animação
       console.log('processo concluído!'); 
    });
});