Para melhorar ainda mais o visual do formulário, criei uma função para formatar o padrão do CEP: 01001-000 e limitei para 9 o número de caracteres.
No HTML:
<div class="formulario__campo">
<label class="campo__etiqueta" for="cep">CEP</label>
<input name="cep" id="cep" class="campo__escrita" maxlength="9" onkeypress="cepMascara(this)" required />
<div id="erro"></div>
</div>
No JavaScript:
function cepMascara(cep) {
if (cep.value.length == 5) {
cep.value = cep.value + '-'
}
}
Além disso, é necessário retirar o "-" do valor que virá com o CEP agora. Na função buscaEndereco, basta colocar um replace antes de entrar no bloco do try.
async function buscaEndereco(cep) {
var mensagemErro = document.getElementById('erro')
mensagemErro.innerHTML = ""
var cepTratado = cep.replace('-', '')
try {...