PHP语言之用PHP写的身份证验证程序
小标 2018-09-14 来源 : 阅读 1292 评论 0

摘要:本文主要向大家介绍了PHP语言之用PHP写的身份证验证程序,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言之用PHP写的身份证验证程序,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

写了几个身份证方面的函数,个人感觉挺有用的,特别是在网络问卷调查时,对个人信息里的身份证进行验证很有用,但是应者寥寥,还是收在自己的blog里算了。  <?php// 计算身份证校验码,根据国家标准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(),平时的应用大多是使用后两个函数,这些函数都没有关心身份证字符串的格式问题,在调用前自行进行格式检查。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved