Como Validar Chave de MDF-e em JavaScript

Implementação JavaScript da validação de chave de acesso para MDF-e.

Introdução

Garanta a consistência da chave de acesso do MDF-e em suas aplicações web com esta função de validação simples.

O Algoritmo

Utiliza aritmética modular (Mod 11) com pesos de 2 a 9 para verificar a integridade da chave.

Implementação em Javascript

mdfe-generator.jsjavascript
function validateMdfeKey(key) {
    if (key.length !== 44 || !/^\d+$/.test(key)) return false;
    
    const baseKey = key.substring(0, 43);
    const existingDv = parseInt(key.charAt(43));
    let total = 0;
    let weight = 2;
    
    for (let i = 42; i >= 0; i--) {
        total += parseInt(baseKey.charAt(i)) * weight;
        weight++;
        if (weight > 9) weight = 2;
    }
    
    const remainder = total % 11;
    const calculatedDv = remainder < 2 ? 0 : 11 - remainder;
    
    return calculatedDv === existingDv;
}

A função valida o formato e o dígito verificador, retornando true apenas se a chave for válida.

Não quer escrever código?

Use nossa ferramenta online gratuita para processar MDFE-GENERATOR instantaneamente. Perfeito para testes rápidos.

Usar Ferramenta de MDFE-GENERATOR Online