name-validation
v1.0.0
Published
Comparacao de nomes PT-BR com heuristicas foneticas
Downloads
12
Maintainers
Readme
name-validation
Comparacao de nomes em PT-BR, focada em primeiro nome com heuristicas foneticas e regras simples de edicao.
Instalacao
npm install name-validationUso basico
const { matchNames } = require('name-validation');
const ok = matchNames('ACCACIO', 'ACACIO');
console.log(ok); // true ou falseUso com TypeScript
import { matchNames } from 'name-validation';
const ok = matchNames('SOPHIA', 'SOFIA');API
matchNames(name1, name2)retornatruequando os nomes sao considerados equivalentes.- Exporta utilitarios:
isFirstNameMatchV2,normalizeString,tokenizeName,getFirstName,phoneticKeyPtBrFirstName,weightedDamerauLevenshtein.
Notas
- A comparacao usa apenas o primeiro nome.
- A normalizacao remove acentos e caracteres nao alfabeticos.
- Regra rapida de match:
- 1 substituicao de letra com mesmo tamanho (ex:
LUIZvsLUIS); - 1 insercao/delecao (ex:
BENJAMIMvsBEJAMIM); - normalizacao leve
PH -> Fe remocao deH(ex:SOPHIAvsSOFIA); - fonetica + distancia ponderada (V2).
- 1 substituicao de letra com mesmo tamanho (ex:
Exemplos
const { matchNames } = require('name-validation');
matchNames('SOPHIA', 'SOFIA'); // true (PH -> F / H muda)
matchNames('BENJAMIM', 'BEJAMIM'); // true (1 delecao)
matchNames('LUIS', 'LUIZ'); // true (1 substituicao)
matchNames('GUMES', 'GUNIS'); // false (2 letras diferentes)