Passaporte
Números de passaporte brasileiro (2 letras e 6 dígitos).
Validar
- JavaScript, biblioteca
- Python, biblioteca4 casos falham
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca1 caso falha
- .NET, biblioteca
- Erlang, biblioteca4 casos falham
Valida um número de passaporte brasileiro: 2 letras seguidas de 6 dígitos, depois de remover os caracteres não alfanuméricos.
- Não há dígito verificador, então um número bem formado não é necessariamente um passaporte real.
- Um valor numérico nunca é válido (ele não pode começar com as duas letras).
- A única fonte oficial do formato é a FAQ da Polícia Federal ("duas letras ... e por seis dígitos subsequentes", exemplo CS265436). Nem o Decreto 5.978/2006 nem a IN 173-DG/PF/2020 definem o número, e a FAQ não proíbe nenhuma letra, então nenhuma é rejeitada.
Decisão pendente
A referência (JS) não diferencia maiúsculas de minúsculas e ignora símbolos (ab123456 e AB-123.456 são válidos). Erlang e Python aceitam apenas a forma estrita em maiúsculas. Veja a decisão em aberto em docs/findings.md (em inglês).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
passport | string | number | sim |
| retorna | boolean |
Valida um número de passaporte brasileiro: 2 letras seguidas de 6 dígitos.
- Não há dígito verificador, então um número bem formado não é necessariamente um passaporte real.
- As 2 letras (a "série") e os 6 dígitos vêm do FAQ da Polícia Federal; nenhuma norma define o número (nem o Decreto nº 5.978/2006 nem a IN nº 173-DG/PF/2020, alterada até a IN nº 283/2024), e o FAQ não lista letra proibida.
import { isValidPassport } from '@brazilian-utils/brazilian-utils';
isValidPassport('AB123456'); // true
isValidPassport('ab123456'); // true (não diferencia maiúsculas de minúsculas)
isValidPassport('AB-123.456'); // true (símbolos são ignorados)
isValidPassport('12345678'); // falseFonte: FAQ da Polícia Federal.
Código: brazilian-utils/javascriptTeste com JavaScript isValidPassport
Casos de teste compartilhados (12) e o resultado em cada biblioteca passport.isValid
Formatar
- JavaScript, biblioteca
- Python, biblioteca17 casos falham
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca17 casos falham
Formata um número de passaporte: em maiúsculas, sem símbolos, com no máximo 8 caracteres (a mesma operação de passport.parse).
- É um apelido de
passport.parse: não confere o número, então um valor incompleto (AB12) é formatado como está. - Um valor que não é string (por exemplo, um número) retorna uma string vazia: um número nunca é um número de passaporte, pois a série são duas letras.
Decisão pendente
A referência (JS) converte para maiúsculas a entrada em minúsculas e com máscara. Erlang e Python aceitam apenas a forma estrita em maiúsculas. Veja a decisão em aberto em docs/findings.md (em inglês).
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
passport | string | sim |
| retorna | string |
Formata um número de passaporte brasileiro: maiúsculas, sem símbolos, limitado a 8 caracteres. É a mesma operação de parsePassport, da qual é um alias.
import { formatPassport } from '@brazilian-utils/brazilian-utils';
formatPassport('ab123456'); // 'AB123456'
formatPassport('AB-123.456'); // 'AB123456'Teste com JavaScript formatPassport
Casos de teste compartilhados (19) e o resultado em cada biblioteca passport.format
Interpretar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Remove todo caractere não alfanumérico de um número de passaporte, converte-o para maiúsculas e limita-o a 8 caracteres.
- Um valor que não é string (por exemplo, um número) retorna uma string vazia.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
passport | string | sim |
| retorna | string |
Remove todos os caracteres não alfanuméricos de um número de passaporte, converte para maiúsculas e limita o resultado a 8 caracteres.
import { parsePassport } from '@brazilian-utils/brazilian-utils';
parsePassport('AB-123.456'); // 'AB123456'
parsePassport(' AB 123 456 '); // 'AB123456'Teste com JavaScript parsePassport
Casos de teste compartilhados (8) e o resultado em cada biblioteca passport.parse
Gerar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
Gera um número de passaporte aleatório e válido: 2 letras maiúsculas seguidas de 6 dígitos.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
| retorna | string |
Gera um número de passaporte brasileiro válido aleatório.
import { generatePassport } from '@brazilian-utils/brazilian-utils';
generatePassport(); // 'RY393097'Teste com JavaScript generatePassport
Casos de teste compartilhados (1) e o resultado em cada biblioteca passport.generate
Fontes oficiais
Atualizado em
