Volver a la página principal
lunes 10 febrero 2025
68

Cómo validar un RFC de México y su dígito verificador

El Registro Federal de Contribuyentes (RFC) en México es una clave única asignada por el SAT a personas físicas y morales. Para validarlo correctamente, se debe verificar su estructura, calcular su dígito verificador y, opcionalmente, emplear expresiones regulares (regex) para su validación automática.

Estructura del RFC y cálculo del dígito verificador

El RFC tiene una estructura específica según el tipo de contribuyente:

  • Personas físicas: 4 letras + 6 dígitos de fecha + 1 homoclave + 1 dígito verificador.
  • Ejemplo: GODE561231GR8
  • Personas morales: 3 letras + 6 dígitos de fecha + 2 homoclave + 1 dígito verificador.
  • Ejemplo: ABC010203KX5

El dígito verificador se calcula usando el algoritmo de módulo 11:

1. Convertir cada carácter a un valor numérico según la tabla del SAT.

2. Multiplicar cada valor por un peso específico según su posición.

3. Sumar los resultados y dividir entre 11.

4. Restar el residuo de 11 para obtener el dígito verificador.

  • Si el residuo es 10, se usa "A"; si es 11, se convierte en "0".

Validación del RFC con regex

Para verificar la estructura del RFC con expresiones regulares (regex) en lenguajes como Python o JavaScript, se pueden usar los siguientes patrones:

Expresión regular para personas físicas

^[A-ZÑ&]{4}\d{6}[A-Z0-9]{3}$

Expresión regular para personas morales

^[A-ZÑ&]{3}\d{6}[A-Z0-9]{3}$

Validación en JavaScript

function validarRFC(rfc) {
    const regex = /^[A-ZÑ&]{3,4}\d{6}[A-Z0-9]{3}$/;
    return regex.test(rfc);
}

console.log(validarRFC("GODE561231GR8")); // true
console.log(validarRFC("ABC010203KX5"));  // true
console.log(validarRFC("1234567890123")); // false

Esta validación solo revisa el formato del RFC, pero no verifica el cálculo del dígito verificador.

Etiquetas:
javascript
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer