Pregunta: ¿Cómo puedo verificar que el formato de una CURP mexicana es válido?
¿Qué es la CURP? La Clave Única de Registro de Población (CURP) es un código alfanumérico único de identidad de 18 caracteres utilizado para identificar oficialmente tanto a residentes como a ciudadanos mexicanos, expedido por el RENAPO.
La misma, se forma a partir de las letras de los nombres y apellidos, la fecha y la entidad federativa de nacimiento, y el sexo. Además, el caracter 17 es para evitar duplicados, y el último caracter es un dígito que se utiliza como detector-corrector de errores. La sintaxis está detallada en el Instructivo Normativo para la Asignación de la Clave Única de Registro de Población .
Contexto: Sólo me interesa validar que una clave podría ser válida. No me interesa en este punto ver si esa CURP existe o no.
Hasta ahora, sólo estoy verificando que sean 18 caracteres alfanuméricos con el regex:
/^[A-Z\d]{18}$/
pero me interesa también considerar que los caracteres sean válidos, y que el dígito verificador coincida.