import { validar, paraMercosul, extrair } from './lib/placa.mjs';
validar('ABC-1234'); // true
paraMercosul('ABC-1234'); // 'ABC1C34'
extrair('Vi o carro BRA2E19 e o ABC-1234 no estacionamento');
// ['BRA2E19', 'ABC1234']
ABC-1234) e Mercosul (ABC1D23).lib/placa.mjs para o seu projeto e pronto.git clone https://github.com/jhowbhz/apiplacas
cd apiplacas && npm test
Ou apenas copie lib/placa.mjs para o seu projeto.
| Função | Exemplo | Retorno |
|---|---|---|
normalizar(placa) |
normalizar(' abc-1d23 ') |
'ABC1D23' |
tipo(placa) |
tipo('ABC1D23') |
'mercosul' | 'antiga' | null |
validar(placa) |
validar('ABC-1234') |
true |
paraMercosul(placa) |
paraMercosul('ABC1234') |
'ABC1C34' |
paraAntiga(placa) |
paraAntiga('ABC1C34') |
'ABC1234' |
formatar(placa) |
formatar('abc1234') |
'ABC-1234' |
extrair(texto) |
extrair('placa ABC-1234') |
['ABC1234'] |
Entradas inválidas geram TypeError; placas Mercosul sem equivalente antigo (5º caractere após J) geram RangeError.
Validar o formato é só o começo. Para descobrir modelo, ano, cor, FIPE, RENAVAM, débitos, gravame, sinistro, leilão e restrição de roubo/furto a partir da placa, use a API de consultas veiculares da APIBrasil.
import { validar, normalizar } from './lib/placa.mjs';
const placa = normalizar(input);
if (!validar(placa)) throw new Error('Placa inválida');
// Só chama a API com placas válidas e economiza requisições.
// Documentação e chave de acesso: https://apibrasil.com.br
Consultas de dados veiculares devem respeitar a LGPD e os termos de uso do provedor.
PRs são bem-vindos! Ideias abertas:
Rode npm test antes de abrir o PR.
Deixe uma estrela — isso ajuda outros devs brasileiros a encontrarem o projeto.
Mantido por @jhowbhz · A engine de SEO que também vive neste repositório está documentada em docs/seo-engine.md. · Licença MIT