Personnellement, je pense que la fonction de carte d'identité est très utile, en particulier lors de la réalisation de questionnaires en ligne. Elle est très utile pour vérifier la carte d'identité dans les informations personnelles que je souhaite publier et partager.
<?php
// Calculer le code de vérification de la carte d'identité selon la norme nationale GB 11643-1999
fonction idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false }
// Facteur de pondération $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
// Correspondant au code de contrôle ; Valeur$verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2') ;
$somme de contrôle = 0;
pour ($i = 0 ; $i < strlen($idcard_base); $i++){
$checksum += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $somme de contrôle % 11 ;
$verify_number = $verify_number_list[$mod] ;
renvoie $verify_number ;
}
// Mise à niveau de la carte d'identité à 15 chiffres vers une carte d'identité à 18 chiffres
fonction idcard_15to18($idcard){
if (strlen($idcard) != 15){
renvoie faux ;
}autre{
// Si le code séquentiel de la carte d'identité est 996 997 998 999, ce sont des codes spéciaux pour les personnes de plus de 100 ans if (array_search(substr($idcard, 12, 3), array('996', '997', '998 ' , '999')) !== faux){
$idcard = substr($idcard, 0, 6) '18'($idcard, 6, 9);
}autre{
$idcard = substr($idcard, 0, 6) '19' ($idcard, 6, 9);
}
}
$idcard = $idcard . idcard_verify_number($idcard);
return $idcard;
}
// Vérification de la validité du code de vérification de la carte d'identité à 18 chiffres
fonction idcard_checksum18($idcard){
if (strlen($idcard) != 18){ return false }
$idcard_base = substr($idcard, 0, 17);
if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1))){
renvoie faux ;
}autre{
renvoie vrai ;
}
}
?>
Le $idcard_base fait référence au code de base de la carte d'identité. Le code de base se trouve uniquement dans la carte d'identité à 18 chiffres, qui correspond aux 17 premiers chiffres de la carte d'identité à 18 chiffres. Le dernier chiffre est appelé code de vérification et. n'est généralement pas utilisé lors de son utilisation. Appelez directement idcard_verify_number(). La plupart des applications habituelles utilisent les deux dernières fonctions. Ces fonctions ne se soucient pas du format de la chaîne d'identification et effectuent elles-mêmes des vérifications de format avant d'appeler.