AndersonArruda

Artigos de tecnologia ao alcance de um clique!


Formatando CPF e CNPJ com Expressão Regular
Javascript PHP Python Expressão regular máscara cpf máscara cnpj

Formatando CPF e CNPJ com Expressão Regular

23/06/2022 11:37

Claro que existem inúmeras maneiras de fazer isso.

Podemos utilizar desde um substr, uma expressão regular entre várias outras possibilidades.

No caso de hoje estaremos utilizando expressão regular para fazer isso em várias linguagens diferentes.

CPF

A máscara do CPF no Brasil é 999.999.999-99, vamos pegar um número como "99999999999" e inserir a máscara utilizando expressão regular de forma bem simples e prática.

Primeiro vamos falar da expressão regular em si.

Expressão Regular: /(\d{3})(\d{3})(\d{3})(\d{2})/


O que significa esse regex?

  1. (\d{3}) - Número de 0-9 com 3 dígitos.
  2. (\d{3}) - Número de 0-9 com 3 dígitos.
  3. (\d{3}) - Número de 0-9 com 3 dígitos.
  4. (\d{2}) - Número de 0-9 com 2 dígitos.


Cada () serve para separar os resultados em vários resultados agrupando-os.

Com os resultados separados podemos utilizar técnica em várias linguagens diferentes para formatar de um jeito mais fácil o valor.


Javascript


Exemplo 1:

'99999999999'.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, '$1.$2.$3-$4');


Exemplo 2:

let cpf = '99999999999';
let cpfPontuado = cpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, '$1.$2.$3-$4');
console.log(cpfPontuado);


Exemplo 3:

const pontuar = (cpf) => {
    return cpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, '$1.$2.$3-$4');
}


PHP


Exemplo 1:

echo preg_replace('/(\d{3})(\d{3})(\d{3})(\d{2})/', '$1.$2.$3-$4', '99999999999');


Exemplo 2:

$cpf = '99999999999';
$cpfPontuado = preg_replace('/(\d{3})(\d{3})(\d{3})(\d{2})/', '$1.$2.$3-$4', $cpf);
echo $cpfPontuado;


Exemplo 3:

function pontuarCpf(string $cpf) : string
{
    return preg_replace('/(\d{3})(\d{3})(\d{3})(\d{2})/', '$1.$2.$3-$4', $cpf);
}


Python


Exemplo 1:

import re
print(re.sub(r'(\d{3})(\d{3})(\d{3})(\d{2})', r'\1.\2.\3-\4', '99999999999'))


Exemplo 2:

import re
cpf = '99999999999'
cpfPontuado = re.sub(r'(\d{3})(\d{3})(\d{3})(\d{2})', r'\1.\2.\3-\4', cpf)
print(cpfPontuado)


Exemplo 3:

import re
def pontuarCpf(cpf):
    return re.sub(r'(\d{3})(\d{3})(\d{3})(\d{2})', r'\1.\2.\3-\4', cpf)


CNPJ

A máscara do CNPJ no Brasil é 99.999.999/9999-99, vamos pegar um número como "99999999999999" e inserir a máscara utilizando expressão regular de forma bem simples e prática.

Primeiro vamos falar da expressão regular em si.

Expressão Regular: /(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/


O que significa esse regex?

  1. (\d{2}) - Número de 0-9 com 2 dígitos
  2. (\d{3}) - Número de 0-9 com 3 dígitos
  3. (\d{3}) - Número de 0-9 com 3 dígitos
  4. (\d{4}) - Número de 0-9 com 4 dígitos
  5. (\d{2}) - Número de 0-9 com 2 dígitos


Cada () serve para separar os resultados em vários resultados agrupando-os.

Com os resultados separados podemos utilizar técnica em várias linguagens diferentes para formatar de um jeito mais fácil o valor.


Javascript


Exemplo 1:

'99999999999999'.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5');


Exemplo 2:

let cnpj = '99999999999999';
let cnpjPontuado = cnpj.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5');
console.log(cnpjPontuado);


Exemplo 3:

const pontuar = (cnpj) => {
    return cnpj.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5');
}


PHP


Exemplo 1:

echo preg_replace('/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/', '$1.$2.$3/$4-$5', '99999999999999');


Exemplo 2:

$cnpj = '99999999999999';
$cnpjPontuado = preg_replace('/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/', '$1.$2.$3/$4-$5', $cnpj);
echo $cnpjPontuado;


Exemplo 3:

function pontuarCnpj(string $cnpj) : string
{
    return preg_replace('/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/', '$1.$2.$3/$4-$5', $cnpj);
}


Python


Exemplo 1:

import re
print(re.sub(r'(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})', r'\1.\2.\3/\4-\5', '99999999999999'))


Exemplo 2:

import re
cnpj = '99999999999999'
cnpjPontuado = re.sub(r'(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})', r'\1.\2.\3/\4-\5', cnpj)
print(cnpjPontuado)


Exemplo 3:

import re
def pontuarCnpj(cpf):
    return re.sub(r'(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})', r'\1.\2.\3/\4-\5', cnpj)


Espero que esse artigo possa ajudar todos que precisam.

Até o próximo artigo.

Espaço para publicidade
3 Comentário(s)
BitcoinCassinosreutt
25/08/2024 19:28

<a href=>https://depositos-minimos.com/</a>

BitcoinCassinosreutt
26/08/2024 16:13

<a href=>https://depositos-minimos.com/</a>

BitcoinCassinosreutt
27/08/2024 15:37

<a href=>https://depositos-minimos.com/</a>

Todos os direitos reservados. © 2021-2031
SBBlog Powered By Powered By Sysborg | Powered By Anderson Arruda