Máscara de cpf não deixa apagar com o backspace do teclado

HTML

JavaScript Web

02/04/2023

A máscara está funcionando, mas se apagar o campo com a tecla de backspace do teclado só apaga os dois últimos dígitos, trava no traço. O que está errado ou faltando?

<label for="cpf">CPF:</label>
<input type="text" id="cpf" name="cpf" oninput="mascaraCpf(this)" maxlength="14">


function mascaraCpf(cpf) {
    if (cpf.value.length === 3 || cpf.value.length === 7) {
      cpf.value += ".";
    } else if (cpf.value.length === 11) {
      cpf.value += "-";
    }
  }
Ilceia

Ilceia

Curtidas 1

Respostas

Lucas Santato

Lucas Santato

02/04/2023

Quando você tenta apagar o "-" o cpf.value passa a ser igual a 11 novamente, ai ele insere o "-" de novo, por isso você não está conseguindo apagar.
GOSTEI 0
POSTAR