sergiubadic

PHP - Validare CUI

Feb 10th, 2016
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.15 KB | None | 0 0
  1. <?php
  2. function validateCIF($cif){
  3.         // Daca este string, elimina atributul fiscal si spatiile
  4.         if(!is_int($cif)){
  5.                 $cif = strtoupper($cif);
  6.                 if(strpos($cif, 'RO') === 0){
  7.                         $cif = substr($cif, 2);
  8.                 }
  9.                 $cif = (int) trim($cif);
  10.         }
  11.        
  12.         // daca are mai mult de 10 cifre sau mai putin de 6, nu-i valid
  13.         if(strlen($cif) > 10 || strlen($cif) < 6){
  14.                 return false;
  15.         }
  16.         // numarul de control
  17.         $v = 753217532;
  18.        
  19.         // extrage cifra de control
  20.         $c1 = $cif % 10;
  21.         $cif = (int) ($cif / 10);
  22.        
  23.         // executa operatiile pe cifre
  24.         $t = 0;
  25.         while($cif > 0){
  26.                 $t += ($cif % 10) * ($v % 10);
  27.                 $cif = (int) ($cif / 10);
  28.                 $v = (int) ($v / 10);
  29.         }
  30.        
  31.         // aplica inmultirea cu 10 si afla modulo 11
  32.         $c2 = $t * 10 % 11;
  33.        
  34.         // daca modulo 11 este 10, atunci cifra de control este 0
  35.         if($c2 == 10){
  36.                 $c2 = 0;
  37.         }
  38.         return $c1 === $c2;
  39. }
  40. ?>
Advertisement
Add Comment
Please, Sign In to add comment