Un IBAN español lleva dos controles, no uno
Los dos dígitos que van detrás del ES son la comprobación europea, la del módulo 97. Pero dentro de los veinte restantes viaja el antiguo Código Cuenta Cliente con sus propios dos dígitos de control, calculados con otro algoritmo.
Por eso una cuenta puede superar el mod 97 y estar mal de todas formas. Nuestro validador mira los dos, que es lo que distingue una comprobación seria de una a medias.
Por qué el módulo 97 detecta lo que detecta
Se mueven los cuatro primeros caracteres al final, se cambian las letras por números y el resultado se divide entre 97. Si el resto es 1, la cuenta es coherente.
Con ese divisor no hay forma de equivocarse en una sola cifra, ni de intercambiar dos contiguas, sin que la cuenta deje de salir. Es justo la clase de error que se comete al dictar un número de cuenta por teléfono.