12
validatesiren
validate_siren
SYNOPSIS
validate_siren($siren)
DESCRIPTION
CODE
- function validate_siren($siren) {
 - return preg_match('/^\d{9}$/', $siren) and checksum_siren($siren);
 - }
 
validate_siret
SYNOPSIS
validate_siret($siret, $siren=false)
DESCRIPTION
CODE
- function validate_siret($siret, $siren=false) {
 - return preg_match('/^\d{14}$/', $siret) and checksum_siren($siret) and (!$siren or strncmp($siren, $siret, strlen($siren)) == 0);
 - }
 
validate_kbis
SYNOPSIS
validate_kbis($kbis, $siren=false)
DESCRIPTION
CODE
- function validate_kbis($kbis, $siren=false) {
 - return preg_match('/(^\d{9})\s+/', $kbis, $r) and validate_siren($r[1], $siren);
 - }
 
checksum_siren
SYNOPSIS
checksum_siren($num)
DESCRIPTION
CODE
- function checksum_siren($num) {
 - $len=strlen($num);
 - if (!($len == 9 or $len == 14)) {
 - return false;
 - }
 - $sum=0;
 - for ($i=0; $i < $len; $i++) {
 - if ($i%2==0) {
 - $sum += $num[$i];
 - }
 - else {
 - $n=2*$num[$i];
 - $sum += $n > 9 ? 1 + ($n - 10) : $n;
 - }
 - }
 - return ($sum % 10) == 0;
 - }
 
Commentaires