8

validatesiren

validate_siren
SYNOPSIS

validate_siren($siren)

DESCRIPTION
CODE
  1. function validate_siren($siren) {
  2.     return preg_match('/^\d{9}$/', $siren) and checksum_siren($siren);
  3. }
validate_siret
SYNOPSIS

validate_siret($siret, $siren=false)

DESCRIPTION
CODE
  1. function validate_siret($siret, $siren=false) {
  2.     return preg_match('/^\d{14}$/', $siret) and checksum_siren($siret) and (!$siren or strncmp($siren, $siret, strlen($siren)) == 0);
  3. }
validate_kbis
SYNOPSIS

validate_kbis($kbis, $siren=false)

DESCRIPTION
CODE
  1. function validate_kbis($kbis, $siren=false) {
  2.     return preg_match('/(^\d{9})\s+/', $kbis, $r) and validate_siren($r[1], $siren);
  3. }
checksum_siren
SYNOPSIS

checksum_siren($num)

DESCRIPTION
CODE
  1. function checksum_siren($num) {
  2.     $len=strlen($num);
  3.     if (!($len == 9 or $len == 14)) {
  4.         return false;
  5.     }
  6.  
  7.     $sum=0;
  8.     for ($i=0; $i < $len; $i++) {
  9.         if ($i%2==0) {
  10.             $sum += $num[$i];
  11.         }
  12.         else {
  13.             $n=2*$num[$i];
  14.             $sum += $n > 9 ? 1 + ($n - 10) : $n;
  15.         }
  16.     }
  17.  
  18.     return ($sum % 10) == 0;
  19. }

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].