// 计算身份证校验码,根据国家标准GB 11643-1999
function idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false; }
// 加权因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
// 校验码对应值
$verify_number_list = array(’1’, ’0’, ’X’, ’9’, ’8’, ’7’, ’6’, ’5’, ’4’, ’3’, ’2’);
$checksum = 0;
for ($i = 0; $i < strlen($idcard_base); $i ){
$checksum = substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
// 将15位身份证升级到18位
function idcard_15to18($idcard){
if (strlen($idcard) != 15){
return false;
}else{
// 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
if (array_search(substr($idcard, 12, 3), array(’996’, ’997’, ’998’, ’999’)) !== false){
$idcard = substr($idcard, 0, 6) . ’18’. substr($idcard, 6, 9);
}else{
$idcard = substr($idcard, 0, 6) . ’19’. substr($idcard, 6, 9);
}
}
$idcard = $idcard . idcard_verify_number($idcard);
return $idcard;
}
// 18位身份证校验码有效性检查
function 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))){
return false;
}else{
return true;
}
}
?>
其中的$idcard_base是指身份证中的本位码,本位码是18位身份证里才有的,也就是18位身份证的前17位,最后一位称为校验码
一般在使用的时候不用直接调用idcard_verify_number(),平时的应用大多是使用后两个函数,这些函数都没有关心身份证字符串的格式问题,在调用前自行进行格式检查。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Zend Studio 13.0.1
Powerful PHP integrated development environment

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version
Visual web development tools
