Personalmente creo que la función de tarjeta de identificación es bastante útil, especialmente cuando se realizan cuestionarios en línea. Es muy útil para verificar la tarjeta de identificación en la información personal que me gustaría publicar y compartir.
<?php
// Calcular el código de verificación de la tarjeta de identificación según el estándar nacional GB 11643-1999
función idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false }
// Factor de ponderación $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
; Valor$verify_number_list = matriz('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2') ;
$suma de verificación = 0;
para ($i = 0; $i < strlen($idcard_base); $i++){
$suma de verificación += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $suma de comprobación % 11;
$verificar_número = $verificar_número_lista[$mod];
devolver $verificar_número;
}
// Actualice la tarjeta de identificación de 15 dígitos a 18 dígitos
función idcard_15to18($tarjeta de identificación){
si (strlen($tarjeta de identificación) != 15){
devolver falso;
}demás{
// Si el código de secuencia del DNI es 996 997 998 999, estos son códigos especiales para personas mayores de 100 años if (array_search(substr($idcard, 12, 3), array('996', '997', '998 ' , '999')) !== falso){
$tarjeta de identificación = substr($tarjeta de identificación, 0, 6) '18'.
}demás{
$tarjeta de identificación = substr($tarjeta de identificación, 0, 6) '19'.
}
}
$tarjeta de identificación = $tarjeta de identificación
.
}
// verificación de validez del código de verificación de tarjeta de identificación de 18 dígitos
función idcard_checksum18($tarjeta de identificación){
if (strlen($idcard) != 18){ return false }
$idcard_base = substr($idcard, 0, 17);
if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1))){
devolver falso;
}demás{
devolver verdadero;
}
}
?>
$idcard_base se refiere al código base en la tarjeta de identificación. El código base solo se encuentra en la tarjeta de identificación de 18 dígitos, que son los primeros 17 dígitos de la tarjeta de identificación de 18 dígitos. El último dígito se llama código de verificación. Generalmente no se usa cuando se usa. Llame directamente a idcard_verify_number (). La mayoría de las aplicaciones habituales usan las dos últimas funciones. Estas funciones no se preocupan por el formato de la cadena de identificación y realizan comprobaciones de formato por sí mismas antes de llamar.