/*** 验证身份证* @param $id_card* @return bool*/
function check_id_card($id_card){if(strlen($id_card) != 18){return false;}$nowYear = date('Y');$year = substr($id_card,6,4);$month = substr($id_card,10,2);$day = substr($id_card,12,2);if($year > $nowYear){return false;}if($month > 12){return false;}if($day > 31){return false;}$id_card_base = substr($id_card,0,17);if(id_card_verify_number($id_card_base) != strtoupper(substr($id_card,17,1))){return false;}else{return true;}
}/*** 计算身份证校验码,根据国家标准GB 11643-1999* @param $id_card_base* @return bool|mixed*/
function id_card_verify_number($id_card_base){if(strlen($id_card_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($id_card_base);$i++){$checksum += substr($id_card_base,$i,1) * $factor[$i];}$mod = $checksum % 11;$verify_number = $verify_number_list[$mod];return $verify_number;
}/*** 根据身份证号码获取性别* @param $id_card* @return string|null*/
function get_sex($id_card) {if(empty($id_card)) return null;$sexInt = substr($id_card, 16, 1);return $sexInt % 2 === 0 ? '女' : '男';
}/*** 获取出生年月* @param string $id_card 操作数据* @return mixed*/
function get_birthday($id_card){$year = substr($id_card, 6, 4);$month = substr($id_card, 10, 2);$day = substr($id_card, 12, 2);return $year.'-'.$month.'-'.$day;
}
/*** 获取周岁* @param string $id_card 操作数据* @return mixed*/
function get_age($id_card){$now_year = date('Y');$now_month = date('m');$now_day = date('d');$year = substr($id_card, 6, 4);$month = substr($id_card, 10, 2);$day = substr($id_card, 12, 2);$age = $now_year - $year - 1;if ($month < $now_month || ($month == $now_month && $day <= $now_day)){$age++;}return $age;
}

PHP验证身份证、获取身份证信息相关推荐

  1. python公园售票小程序(身份证获取简单信息+简单数据分析+简单多线程)

    1.文件目录 2.main.py主文件 from utils import welcome,examineIdCard,playMusic,dataAnalysis import _thread th ...

  2. 上传身份证照片js_Asp.Net MVC 中JS通过ajaxfileupload上传图片获取身份证姓名、生日、家庭住址等详细信息...

    客户要求用身份证图片上传获取身份证的详细信息就下来研究了一下(现在的客户真的懒 身份证信息都懒得输入了哈哈...),经过慢慢研究,果然皇天不负有心人搞出来了.这个借助的是腾讯的一个SKD  腾讯优图云 ...

  3. 从身份证图片获取文字信息

    最近信息公司有个项目,需要收集商户的身份信息.当时考虑把功能做在微信里面代替做在app里面,app需要开发二个平台之外还要考虑各种手机版本的问题,甚是繁琐.但是由于购买的身份证读卡器,只有安卓和IOS ...

  4. js如何实现扫描身份证识别_移动端扫描身份证获取获取身份证信息。

    移动端扫描身份证获取身份证信息(前端部分) 最近做了个扫描身份证的功能主要分以下几个步骤 1:使用H5+调用手机底层相机拍照功能 if(window.plus){ playCamera(); }els ...

  5. 根据身份证号获取相关信息(籍贯、性别、出生日期...)

    根据身份证号获取相关信息(籍贯.性别.出生日期-) 首先我的只是个demo,身份证号也是写死的.仅供参考! 通过访问其他HTTP接口,将身份证号当作参数.调用接口返回相关信息 效果展示: **接口地址 ...

  6. 【学习】身份证号获取个人信息

    身份证具有明显的代表唯一性,通过身份证号可以获取到哪些信息?社保在校验添加缴费人信息时,需要根据输入的身份证号获取信息,格式验证通过后将获取到的信息填充.这就需要了解一些规格. 现在新一代的身份证居多 ...

  7. Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳...

    Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳 早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下: (1)15位:1-6位为地区代码,7-8 ...

  8. excel从身份证号码中获取邮编信息?

    今天跟大家分享一下excel从身份证号码中获取邮编信息? 1.打开excel身份证号码文件,现在要求我们快速根据身份证号码提取邮编信息. 2.首先我们选中身份证号码单元格,点击[DIY工具箱]选项卡 ...

  9. 身份证号可获取的信息

    身份证号可获取的信息 居民初次登记户籍所在地.出生日期.性别 公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序 ...

  10. 扫描身份证 获取信息

    百度智能云 扫描身份证 获取信息 1.https://cloud.baidu.com/doc/OCR/s/rk3h7xzck 登录百度智能云 2.点击 控制台 找到 左侧目录 产品服务 选择图像识别 ...

最新文章

  1. 关于automake 和 makefile 使用感受
  2. 使用前端框架Foundation 4来帮助简化响应式设计开发
  3. SAP UI5 初学者教程之十三 - 如何添加自定义 CSS 类试读版
  4. redis——客户端
  5. 论文小综 | Using External Knowledge on VQA
  6. 【赠书活动】清华社的两本Android技术书籍
  7. 利用JDBC工具类 模拟用户登录!
  8. Spring Cloud 尚硅谷阳哥学习笔记,每一行代码均有解释,适合快速上手,并配合尚硅谷视频食用
  9. 魔百和服务器网站,【当贝市场】魔百盒首页诊断显示网络异常解决办法
  10. FME突然无法连接FMS服务器
  11. 福禄克FLUKE光纤测试仪OTDR OFP系列
  12. asp.net开发wap程序必备:识别来访手机品牌型号【来源网络】
  13. 计算机图解教程视频教程,新手怎么制作短视频教程?视频处理的图文步骤
  14. 字节跳动扣响搜索扳机
  15. java opencv 去噪,opencv教程-图像去噪与修复
  16. 从小白到大师-用OpenSSH在不同主机上传输文件
  17. 智慧数字经营小程序有什么好处
  18. 给你惊喜!来看看国内大公司官网隐藏的彩蛋
  19. eBPF SIG年度动态: eBPF和Wasm深度融合、参与7场活动及2023展望 | 龙蜥 SIG
  20. 【BootStrap】如何删除HTML的span标签

热门文章

  1. Squeeze-and excitation network
  2. 基于Keras的多标签图像分类
  3. 代码混淆技术yguard、ProGuard、Allatori
  4. Linux命令学习压缩打包
  5. 假设计算机系统的页面大小为4K,进程P的页面变换表如下表所示。若P要动问的逻辑地址为十六进制3C20H,那么该逻辑地址经过地址变换后,其物理地址应为()
  6. [前端CSS高频面试题]如何画0.5px的边框线(详解)
  7. QCC3040---earbud State Machine module
  8. word打开老是配置进度_Word2013打开时总是出现配置进度的解决办法
  9. 桌面版 Google Maps 开放 Google Buzz 图层,看看大家都跟哪儿巴子呢
  10. ubuntu 开启ipv6_Ubuntu系统中禁用IPv6的两种方法介绍