[Linux-bruxelles] [HS] PHP et numéro de registre national belge
Serge SMEESTERS
sergesmeesters at gmail.com
Jeu 19 Déc 18:17:52 CET 2013
> Voici ce que je viens de pondre pour vérifier la validité des numéro
> de registre national belge...
[...]
Zut, c'était pas la bonne version dans mon presse papier...
Voici :
function str_only_digit( $str )
{
$res = "";
$length = strlen( $str );
for( $i = 0 ; $i < $length ; ++$i )
{
$char = $str[ $i ];
if( is_numeric( $char ) )
$res .= $char;
}
return $res;
}
function is_numregnat_valid( $num )
{
$numdigits = str_only_digit( $num );
$year2d = substr( $numdigits, 0, 2 );
if( intval( $year2d ) > 11 )
$year = intval( "19".$year2d );
else
$year = intval( "20".$year2d );
$month = intval( substr( $numdigits, 2, 2 ) );
$day = intval( substr( $numdigits, 4, 2 ) );
$date = date_create( "$year-$month-$day" );
return (
intval( substr($numdigits, 9, 2) )
==
97 - (
intval(
($date < date_create("2000-01-01") ? "" : "2" )
.substr( $numdigits, 0, 9 )
) % 97
)
);
}
Plus d'informations sur la liste de diffusion Linux-bruxelles