CAEPF
Cadastro de Atividade Econômica da Pessoa Física, para pessoas físicas que empregam trabalhadores (substituiu o CEI para elas).
Validar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca3 casos falham
- Ruby, biblioteca1 caso falha
- Rust, biblioteca
- .NET, biblioteca3 casos falham
- Erlang, biblioteca
Valida um CAEPF: 14 dígitos, com a base de 9 dígitos do CPF do titular, uma sequência de 3 dígitos e 2 dígitos verificadores. O CAEPF substituiu o CEI para pessoas físicas que contratam empregados, como os produtores rurais.
- Os dois dígitos verificadores seguem o módulo 11 do CNPJ. Depois, o par resultante é deslocado em 12, com volta ao chegar a 100.
- Um valor cuja base de 12 dígitos (a base do CPF e a sequência) tem todos os dígitos iguais é rejeitado.
- O valor pode ser um número ou uma string de 14 dígitos. Entre os grupos impressos (3, 3, 3, 3 e 2 dígitos) pode haver qualquer sequência de espaços,
.,-ou/, e qualquer uma dessas sequências pode faltar, então293118.610/00184é válido. Os espaços em volta do valor são ignorados. Qualquer outra forma, como outro separador, uma letra ou um separador dentro de um grupo, é rejeitada. - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro é inválido.
- Nenhuma fonte oficial publica a regra do dígito verificador. Só as 14 posições e a base de 9 dígitos do CPF são oficiais (documentação do SERPRO do cadastro da Receita Federal). A IN RFB 1.828/2018 não traz dígito verificador, e o eSocial só verifica se o número existe na base da Receita. A divisão 3 + 2 dos últimos 5 dígitos e a regra vêm de implementações de referência de terceiros. Elas aceitam o exemplo do SERPRO,
00000002500171. - Um número perde os zeros à esquerda, então um valor que começa com
0só é aceito como string.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | boolean |
Valida um número de CAEPF (Cadastro de Atividade Econômica da Pessoa Física). O CAEPF substituiu o CEI para a pessoa física que contrata empregados, como o produtor rural.
- Layout: 14 dígitos impressos como
000.000.000/000-00: a base de 9 dígitos do CPF do titular, um número de ordem de 3 dígitos e 2 dígitos verificadores. - Os dois dígitos verificadores seguem o módulo 11 do CNPJ; o par é então somado a 12, com retorno a zero acima de 99.
- Um número perde os zeros à esquerda, então um valor que começa com
0só é aceito como string:isValidCaepf('00000002500171')étrueeisValidCaepf(2500171)éfalse. - Só as 14 posições e a base do CPF são oficiais (SERPRO: "9 primeiros números do CPF + número de inscrição resumido" de 5 posições). A divisão dessas 5 em número de ordem e 2 dígitos verificadores, a regra do dígito e a soma de 12 vêm das referências da comunidade abaixo; elas conferem com o exemplo
00000002500171do SERPRO.
import { isValidCaepf } from '@brazilian-utils/brazilian-utils';
isValidCaepf('293.118.610/001-84'); // true
isValidCaepf('41142260000101'); // true
isValidCaepf(29311861000184); // true
isValidCaepf(-29311861000184); // false (não é um inteiro seguro não negativo)
isValidCaepf('29311861000185'); // false (dígitos verificadores inválidos)
isValidCaepf('00000000000000'); // false (dígitos da base repetidos)
isValidCaepf('00000000000012'); // false (dígitos da base repetidos)Fonte: SERPRO, cadastro CAEPF (14 posições); dígitos verificadores conforme o ghiorzi.org e o brazilian-values.
Código: brazilian-utils/javascriptTeste com JavaScript isValidCaepf
Casos de teste compartilhados (29) e o resultado em cada biblioteca caepf.isValid
Formatar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca7 casos falham
- Rust, biblioteca
- .NET, biblioteca1 caso falha
- Erlang, biblioteca
Formata um CAEPF com a máscara 000.000.000/000-00.
- A máscara é aplicada até onde os dígitos vão, então um valor sendo digitado é mascarado progressivamente, e os dígitos além do 14º são descartados.
options.padprimeiro completa com zeros à esquerda até 14 dígitos. - Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna uma string vazia (a 2.4.0 lia os dígitos de qualquer número, descartando sinal e ponto decimal).
- Um valor vazio, ou sem dígitos, retorna uma string vazia mesmo com
pad. Até a 2.4.0 opadretornava a máscara toda de zeros (000.000.000/000-00).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
options | FormatCaepfOptions | não |
options.pad | boolean | não |
| retorna | string |
Formata um número de CAEPF (Cadastro de Atividade Econômica da Pessoa Física) na máscara usual 000.000.000/000-00.
- Mesmas regras de
formatCei, compad(FormatCaepfOptions) completando até 14 dígitos (padrãofalse).
import { formatCaepf } from '@brazilian-utils/brazilian-utils';
formatCaepf('29311861000184'); // 293.118.610/001-84
formatCaepf(41142260000101); // 411.422.600/001-01
formatCaepf('184', { pad: true }); // 000.000.000/001-84Teste com JavaScript formatCaepf
Casos de teste compartilhados (20) e o resultado em cada biblioteca caepf.format
Interpretar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca2 casos falham
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Remove a formatação do CAEPF e mantém somente os dígitos, limitados a 14 dígitos.
- Um número só é lido se for um inteiro seguro não negativo. Número negativo, fracionário, não finito ou inseguro retorna uma string vazia (a 2.4.0 lia os dígitos de qualquer número, descartando sinal e ponto decimal).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | string |
Remove a formatação do CAEPF (Cadastro de Atividade Econômica da Pessoa Física), mantém apenas os dígitos e limita o resultado a 14 dígitos.
import { parseCaepf } from '@brazilian-utils/brazilian-utils';
parseCaepf('293.118.610/001-84'); // '29311861000184'Teste com JavaScript parseCaepf
Casos de teste compartilhados (9) e o resultado em cada biblioteca caepf.parse
Fontes oficiais
Atualizado em
