Registro profissional
Números de inscrição em conselhos profissionais (OAB, CRM, CRO, CRP, CRC).
Validar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca22 casos falham
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Verifica a estrutura de um número de registro em conselho profissional: apenas a quantidade de dígitos e a UF, nunca um dígito verificador.
paramscontém o valor, o conselho (OAB, CRM, CRO, CRP ou CRC) e, opcionalmente, o estado esperado. A sigla do estado é lida sem distinção de caixa e sem os espaços nas pontas (a 2.4.0 a comparava como estava escrita).- OAB e CRM: 4 a 6 dígitos mais a UF (
123456/SP,123456-SP). A UF precisa ser uma sigla de estado real e é lida sem distinção de caixa (12345/spé válido). - CRO: 3 a 6 dígitos mais a UF (
12345/SP), ou a forma do art. 115, § 1º, da Consolidação das Normas do CFO (Resolução CFO-63/2005): primeiro a sigla do conselho (CRO-SP), ligada por hífen à categoria quando houver (TPD,TSB,ASB,APD,CLM/CLF,LPM/LPF,PV,T), depois o número, com-ISpara inscrição secundária ou-Rpara inscrição remida (CRO-SP 12345,CRO-SP-TPD 1234-IS,CRO-SP 12345-R). Novo na 2.5.0; a 2.4.0 rejeitava essa forma. - Na forma do art. 115, só o cirurgião-dentista (sem categoria) e o
TPDpodem ter-R.TSB,ASBeAPDsó podem ter-IS, e as demais categorias nenhum sufixo. A UF da sigla é a comparada com o estado esperado. - CRP: um código regional de 2 dígitos (
01a24) mais 4 a 6 dígitos (06/12345). A função ignora o estado esperado. O sistema do CFP tem 24 regionais; o CRP-25 (Amapá) é só uma proposta. - CRC: UF, 6 dígitos, tipo de registro (
OouP) e dígito verificador (SP-123456/O-3); uma transferência acrescentaTouSe a UF de destino (SP-123456/O-3 T-MG). O estado esperado corresponde à UF de origem. As duas UFs precisam ser siglas de estado reais. - Só a forma do art. 115 do CRO, o formato do CRC e os códigos regionais do CRP se apoiam em fonte publicada. O formato do CRC e os registros
PeSvêm do Manual de Registro (2009); a Resolução CFC nº 1.707/2023, em vigor, só define uma numeração "única e sequencial em cada CRC" e oTda transferência, e o algoritmo do dígito verificador não é publicado. O art. 115 não fixa quantidade de dígitos, então os 3 a 6 dígitos do CRO são convenção, como as faixas da OAB e do CRM e o corpo do CRP: a OAB e o CFM não publicam formato. A função não cobre o CREA. Duas formas conhecidas ficam fora dela: um CRM com prefixo300(médicos formados no exterior) ou comPno final (inscrição provisória), e um número da OAB com 7 dígitos. params.valueé o número de registro,params.counciléOAB,CRM,CRO,CRPouCRC, eparams.stateCodeé a UF esperada, opcional. Umparamsque não é objeto, ou semvaluestring ou comcouncildesconhecido, retornafalse.- Os caracteres de máscara (espaço,
.,-e/) são ignorados onde estiverem. Qualquer outro caractere (@, um emoji) torna o valor inválido em vez de ser removido (12@3456/SPéfalse). Até a 2.4.0 esses caracteres eram removidos, então12@3456/SPeratrue. - A função nunca calcula dígito verificador, nem para o CRC, cujo formato traz um (só a presença e a forma são verificadas).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
params | IsValidRegistroProfissionalParams | sim |
params.value | string | sim |
params.council | RegistroProfissionalCouncil | sim |
params.stateCode | StateCode | não |
| retorna | boolean |
Verifica a estrutura de um número de registro em conselho profissional (registro/inscrição profissional). Só a quantidade de dígitos e a UF são conferidas, nunca o dígito verificador, nem no CRC.
-
Os separadores da máscara (espaço,
.,-e/) são ignorados em qualquer posição; qualquer outro caractere (@, um emoji) invalida o valor em vez de ser removido. -
Recebe um objeto (
IsValidRegistroProfissionalParams):value,council(RegistroProfissionalCouncil:"OAB","CRM","CRO","CRP"ou"CRC") estateCodeopcional (UF esperada, sem diferenciar maiúsculas/minúsculas e ignorando espaços nas pontas). -
"OAB"e"CRM": 4 a 6 dígitos mais a UF (123456/SP,123456-SP);"CRO": 3 a 6 dígitos (12345/SP), ou a forma da Consolidação das Normas do CFO (Resolução CFO-63/2005), art. 115, § 1º: a sigla do Conselho Regional antes, ligada por hífen à categoria (TPD,TSB,ASB,APD,CLM/CLF,LPM/LPF,PV,T) quando houver, depois o número, seguido de-ISna secundária ou-Rna remida (CRO-SP 12345,CRO-SP-TPD 1234,CRO-SP 12345-IS). Até a 2.4.0 essa forma era rejeitada. -
"CRP": código regional de 2 dígitos (01a24) mais 4 a 6 dígitos (06/12345);stateCodeé ignorado. O sistema CFP tem 24 regionais; o CRP-25 (Amapá) é só uma proposta. -
"CRC": UF, 6 dígitos, tipo de registro (OouP) e dígito verificador (SP-123456/O-3); transferência acrescentaTouSe a UF destino (SP-123456/O-3 T-MG).stateCodeconfere a UF de origem. Essa forma e os registrosP/Svêm do Manual de Registro de 2009; a Resolução CFC nº 1.707/2023, em vigor, só fixa uma numeração "única e sequencial em cada CRC" e oTda transferência, e o algoritmo do dígito verificador não é publicado. -
As quantidades de dígitos de OAB, CRM, CRO e CRP são convencionais: a OAB e o CFM não publicam formato, e nem o art. 115 do CFO nem o CFP fixam quantidade de dígitos. CREA não é coberto.
import { isValidRegistroProfissional } from '@brazilian-utils/brazilian-utils';
isValidRegistroProfissional({ value: '123456/SP', council: 'OAB' }); // true
isValidRegistroProfissional({ value: '123456-RJ', council: 'OAB', stateCode: 'SP' }); // false (UF divergente)
isValidRegistroProfissional({ value: '123456', council: 'OAB' }); // false (sem UF)
isValidRegistroProfissional({ value: '12@3456/SP', council: 'OAB' }); // false (um caractere fora da máscara)
isValidRegistroProfissional({ value: 'CRO-SP-TPD 1234', council: 'CRO' }); // true (art. 115 das normas do CFO)
isValidRegistroProfissional({ value: '06/12345', council: 'CRP' }); // true
isValidRegistroProfissional({ value: 'SP-123456/O-3', council: 'CRC' }); // true
isValidRegistroProfissional({ value: 'SP-123456/O-3 T-MG', council: 'CRC' }); // true (registro transferido)
isValidRegistroProfissional({ value: 'SP-123456/T-3', council: 'CRC' }); // false ("T" não é tipo de registro)Fonte: Consolidação das Normas do CFO, art. 115, Manual de Registro do Sistema CFC/CRCs, Resolução CFC nº 1.707/2023, regionais do CFP.
Código: brazilian-utils/javascriptTeste com JavaScript isValidRegistroProfissional
Casos de teste compartilhados (76) e o resultado em cada biblioteca registroProfissional.isValid
Fontes oficiais
- cfc.org.br/wp-content/uploads/…/1_manual_registro.pdf
- www1.cfc.org.br/sisweb/SRE/…/Res_1707.pdf
- site.cfp.org.br/cfp/sistema-conselhos/…/conselhos-pelo-brasil
- oab.org.br/util/print
- planalto.gov.br/ccivil_03/decreto/…/d44045.htm
- transparencia.cfo.org.br/wp-content/uploads/…/Consolidação-das-Normas-Atualizado-emsetembro-de-2023.pdf
- transparencia.cfp.org.br/wp-content/uploads/…/Classificacao-de-Portes-dos-CRPs-2026.csv
Atualizado em
