Código de PHP - Validación de CIF-NIF

Imágen de perfil
Val: 55
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Validación de CIF-NIFgráfica de visualizaciones


PHP

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 6 de Noviembre del 2015 por Fernando (Publicado el 30 de Octubre del 2015)
2.141 visualizaciones desde el 30 de Octubre del 2015
Función para la validación de NIF/CIF de España.
http://lab.fawno.com/2015/08/27/validacion-de-cif-nif/

1
estrellaestrellaestrellaestrellaestrella(2)

Actualizado el 6 de Noviembre del 2015 (Publicado el 30 de Octubre del 2015)gráfica de visualizaciones de la versión: 1
2.142 visualizaciones desde el 30 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
  function cif_validation ($cif) {
    $cif = strtoupper($cif);
      if (preg_match('~(^[XYZ\d]\d{7})([TRWAGMYFPDXBNJZSQVHLCKE]$)~', $cif, $parts)) {
        $control = 'TRWAGMYFPDXBNJZSQVHLCKE';
        $nie = array('X', 'Y', 'Z');
        $parts[1] = str_replace(array_values($nie), array_keys($nie), $parts[1]);
        $cheksum = substr($control, $parts[1] % 23, 1);
        return ($parts[2] == $cheksum);
      } elseif (preg_match('~(^[ABCDEFGHIJKLMUV])(\d{7})(\d$)~', $cif, $parts)) {
        $checksum = 0;
        foreach (str_split($parts[2]) as $pos => $val) {
          $checksum += array_sum(str_split($val * (2 - ($pos % 2))));
        }
        $checksum = ((10 - ($checksum % 10)) % 10);
        return ($parts[3] == $checksum);
      } elseif (preg_match('~(^[KLMNPQRSW])(\d{7})([JABCDEFGHI]$)~', $cif, $parts)) {
        $control = 'JABCDEFGHI';
        $checksum = 0;
        foreach (str_split($parts[2]) as $pos => $val) {
          $checksum += array_sum(str_split($val * (2 - ($pos % 2))));
        }
        $checksum = substr($control, ((10 - ($checksum % 10)) % 10), 1);
        return ($parts[3] == $checksum);
      }
      return false;
  }
?>



Comentarios sobre la versión: 1 (2)

Imágen de perfil
7 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Super, muy útil.
Responder
Imágen de perfil
9 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3325