PHP – Validar un NIE

Ya vimos en artículos anteriores cómo validar un NIf en PHP, cómo validar un CIF en php, y en este artículo veremos cómo validar un NIE en PHP.

La función que se encarga de validar el NIE es la siguiente:

function validateNie($nif){
      if (preg_match('/^[XYZT][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Z0-9]/', $nif)) {
        for ($i = 0; $i < 9; $i ++){
          $num[$i] = substr($nif, $i, 1);
        }

        if ($num[8] == substr(‘TRWAGMYFPDXBNJZSQVHLCKE’, substr(str_replace(array(‘X’,’Y’,’Z’), array(‘0′,’1′,’2’), $nif), 0, 8) % 23, 1)) {
          return true;
        } else {
          return false;
        }
      }
    }

De las funciones más utilizada en este tipo de código de validaciones es preg_match. Esta función de PHP facilita comprobar si una string cumple con un formato regular. Mediante un «lenguaje» específico, le pasamos a la función que formato debe tener la string, y la función te devuelve si la string la cumple. Estas reglas que le pasamos a la función, no son sencillas de formar y reciben el nombre de expresiones regulares. Por Internet multitud de listas de estas reglas que podéis utilizar. Para más información, podéis visitar la documentación de preg_match en php.

Aquí tenéis un enlace muy interesante con las expresiones regulares más comunes que normalmente debemos validar.

En Internet, si se busca, hay gran cantidad de variedades de validaciones de documentos. Os dejo los enlaces de dos de ellos de los que saqué esta función:

Más información

Espero que os sea de utilidad este artículo. Mucho de los contenidos sirven también para otro tipo de validaciones.