diff --git a/html/cadastro_destino.php b/html/cadastro_destino.php index be420a53..b10388fa 100755 --- a/html/cadastro_destino.php +++ b/html/cadastro_destino.php @@ -99,22 +99,23 @@ function validarCPF(strCPF) { } function FormataCnpj(campo, teclapres) { - var tecla = teclapres.keyCode; - var vr = new String(campo.value); - vr = vr.replace(".", ""); - vr = vr.replace("/", ""); - vr = vr.replace("-", ""); - tam = vr.length + 1; - if (tecla != 14) { - if (tam == 3) - campo.value = vr.substr(0, 2) + '.'; - if (tam == 6) - campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 5) + '.'; - if (tam == 10) - campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(6, 3) + '/'; - if (tam == 15) - campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(6, 3) + '/' + vr.substr(9, 4) + '-' + vr.substr(13, 2); - } +var tecla = teclapres.keyCode; +var vr = campo.value.replace(/\D/g, ''); // Remove todos os caracteres não numéricos +var tam = vr.length; + +if (tecla != 8) { // Ignora o backspace + if (tam <= 2) { + campo.value = vr; // Ex: 12 + } else if (tam <= 5) { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2); // Ex: 12.345 + } else if (tam <= 8) { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5); // Ex: 12.345.678 + } else if (tam <= 12) { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8); // Ex: 12.345.678/9012 + } else { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8, 4) + '-' + vr.substr(12, 2); // Ex: 12.345.678/9012-34 + } +} } function validarCNPJ(cnpj) { @@ -177,6 +178,19 @@ function exibirCNPJ(cnpj) { document.getElementById("enviar").disabled = false; } } + function permitirSomenteCNPJ(e) { + var tecla = e.key; + + // Permite números (0-9), "/", "-", ".", e teclas de controle como Backspace, Delete, Tab, etc. + var regex = /^[0-9\/\.\-]$/; + + // Se a tecla não for permitida, cancela o evento + if (!regex.test(tecla) && !['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(tecla)) { + e.preventDefault(); + + } +} +