您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

身份证号验证(兼容15位,18位)

2024/4/2 6:10:11发布19次查看
身份证号验证,兼容15位,18位!
protected function checkidcard(){
if(empty($_post['idcard'])){
return false;
}
$idcard = $_post['idcard'];
$city = array(11=>北京,12=>天津,13=>河北,14=>山西,15=>内蒙古,21=>辽宁,22=>吉林,23=>黑龙江,31=>上海,32=>江苏,33=>浙江,34=>安徽,35=>福建,36=>江西,37=>山东,41=>河南,42=>湖北,43=>湖南,44=>广东,45=>广西,46=>海南,50=>重庆,51=>四川,52=>贵州,53=>云南,54=>西藏,61=>陕西,62=>甘肃,63=>青海,64=>宁夏,65=>新疆,71=>台湾,81=>香港,82=>澳门,91=>国外);
$isum = 0;
$idcardlength = strlen($idcard);
//长度验证
if(!preg_match('/^\d{17}(\d|x)$/i',$idcard) and !preg_match('/^\d{15}$/i',$idcard))
{
return false;
}
//地区验证
if(!array_key_exists(intval(substr($idcard,0,2)),$city))
{
return false;
}
// 15位身份证验证生日,转换为18位
if ($idcardlength == 15)
{
$sbirthday = '19'.substr($idcard,6,2).'-'.substr($idcard,8,2).'-'.substr($idcard,10,2);
$d = new datetime($sbirthday);
$dd = $d->format('y-m-d');
if($sbirthday != $dd)
{
return false;
}
$idcard = substr($idcard,0,6).19.substr($idcard,6,9);//15to18
$bit18 = getverifybit($idcard);//算出第18位校验码
$idcard = $idcard.$bit18;
}
// 判断是否大于2078年,小于1900年
$year = substr($idcard,6,4);
if ($year2078 )
{
return false;
}
//18位身份证处理
$sbirthday = substr($idcard,6,4).'-'.substr($idcard,10,2).'-'.substr($idcard,12,2);
$d = new datetime($sbirthday);
$dd = $d->format('y-m-d');
if($sbirthday != $dd)
{
return false;
}
//身份证编码规范验证
$idcard_base = substr($idcard,0,17);
if(strtoupper(substr($idcard,17,1)) != getverifybit($idcard_base))
{
return false;
}
return $_post['idcard'];
}
// 计算身份证校验码,根据国家标准gb 11643-1999
function getverifybit($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 {
$checksum += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
ad:真正免费,域名+虚机+企业邮箱=0元
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product