Validador de DLN (Cargas USA)
Validador online de Driver's License Number dos EUA. Excelente para QA.
Como funciona a validação do DLN fonético?
A validação sanitiza a entrada e verifica o comprimento total (13 dígitos para a Flórida ou 15 dígitos para Nova York). Em seguida, audita se o documento inicia com uma letra válida seguido apenas por dígitos.
Por fim, o validador quebra os índices e valida as datas encoded na chave: reconstrói as coordenadas de mês, dia e ano, validando se respeitam limites de calendários e cruzando a informação de gênero correspondente.
Anatomia & Estrutura da DLN Americana (Flórida: 13 Chars / Nova York: 15 Chars)
Os modelos estaduais com codificação Soundex codificam nome, gênero e data natalícia em blocos rígidos:
| Posição | Campo | Tamanho | Significado & Regra | Exemplo |
|---|---|---|---|---|
| 1 | Inicial do Sobrenome | 1 letra | Primeira letra do sobrenome do titular em maiúsculas | S |
| 2 a 4 | Soundex Sobrenome | 3 dígitos | Código fonético Soundex das consoantes do sobrenome | 530 |
| 5 a 7 | Soundex Nome | 3 dígitos | Código fonético Soundex das consoantes do primeiro nome | 250 |
| 8 e 9 | Ano de Nascimento | 2 dígitos | Dois últimos algarismos do ano de nascimento (YY) | 85 |
| 10 a 12 | Código DDD (Data/Sexo) | 3 dígitos | (Mês - 1) * 40 + Dia (+500 para condutoras do sexo feminino) | 585 |
| 13 em diante | Controle / Desempate | 1 a 3 chars | Dígito "0" na Flórida ou 2 dígitos de desempate em Nova York | 0 |
Algoritmo Fonético Soundex e Decodificação de Data (DDD)
Os departamentos de trânsito estaduais decodificam gênero e datas através da aritmética do bloco DDD:
DDD = (Mês - 1) * 40 + Dia + (Feminino ? 500 : 0)
- 1. Valide que o primeiro caractere seja uma letra de A a Z e os demais dígitos numéricos.
- 2. Isole o bloco DDD nas posições 10 a 12.
- 3. Se DDD >= 500: titular do sexo feminino; subtraia 500 para obter o valor base.
- 4. Se DDD < 500: titular do sexo masculino; o valor base é o próprio DDD.
- 5. Calcule o mês: Mês = Math.floor(base / 40) + 1.
- 6. Calcule o dia: Dia = base % 40.
- 7. Verifique se o dia e o mês decodificados formam uma data válida no calendário.
- 8. Para o padrão da Flórida (13 caracteres), confirme que o dígito final é rigorosamente "0".