Criar Regex para CNPJ

Olá,

Preciso saber como definir um regex correspondente a 14 dígitos, sendo considerado o zero para um CNPJ.

Obrigado!

2 curtidas

Oi, @NadiaDias sempre bom te ver por aqui :grin:

Tenta usar esse:

[0-9]{3}.[0-9]{3}.[0-9]{3}-[0-9]{2} para CPF
[0-9]{2}.[0-9]{3}.[0-9]{3}/[0-9]{4}-[0-9]{2} para CNPJ

Também é possível buscar outros REGEX prontos na internet caso seja necessário fazer outro tipo de validação

Te ajudei? Se sim marca um check pra gente saber :white_check_mark:

2 curtidas

Alem do Regex para ver o numero, é bom validar se o numero é valido.
Abaixo um exemplo de codigo pra CPF.

function validaCPF(cpf) {
cpf = cpf.replace(/[^\d]+/g, ‘’); // Remove qualquer caractere não numérico
if (cpf.length !== 11 || /^(\d)\1{10}$/.test(cpf)) return false; // Verifica o tamanho e sequências repetidas como 111.111.111-11

// Calcula e verifica o primeiro dígito verificador
let soma = cpf.split(‘’).slice(0, 9).reduce((acc, val, idx) => acc + parseInt(val) * (10 - idx), 0);
let resto = (soma * 10) % 11;
if (resto === 10 || resto === 11) resto = 0;
if (resto !== parseInt(cpf.charAt(9))) return false;

// Calcula e verifica o segundo dígito verificador
soma = cpf.split(‘’).slice(0, 10).reduce((acc, val, idx) => acc + parseInt(val) * (11 - idx), 0);
resto = (soma * 10) % 11;
if (resto === 10 || resto === 11) resto = 0;
return resto === parseInt(cpf.charAt(10));
}

// Exemplo de uso:
const cpf = ‘123.456.789-09’;
if (validaCPF(cpf)) {
console.log(‘CPF válido’);
} else {
console.log(‘CPF inválido’);
}

2 curtidas