//验证身份证是否有效public function check_idcard($idcard) {if(preg_match('`^[0-9a-zA-Z\(\)]+$`', $idcard)){//基本格式//return true;if (strlen($idcard) == 18) {check18IDCard($idcard); //18位身份证校验码有效性检查} elseif ((strlen($idcard) == 15)) {$idcard= convertIDCard15to18($idcard);// 将15位身份证升级到18位check18IDCard($idcard);//18位身份证校验码有效性检查} else {return false;}}else{return false;}}//计算身份证的最后一位验证码,根据国家标准GB 11643-1999public function calcIDCardCode($idcardBody) {if (strlen($idcardBody) != 17) {return false;}//加权因子$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);//校验码对应值$code = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');$checksum = 0;for ($i = 0; $i < strlen($idcardBody); $i++) {$checksum += substr($idcardBody, $i, 1) * $factor[$i];}return $code[$checksum % 11];}// 18位身份证校验码有效性检查public function check18IDCard($idcard) {if (strlen($idcard) != 18) {return false;}$idcardBody = substr($idcard, 0, 17); //身份证主体$idcardCode = strtoupper(substr($idcard, 17, 1)); //身份证最后一位的验证码if (calcIDCardCode($idcardBody) != $idcardCode) {return false;} else {return true;}}// 将15位身份证升级到18位public function convertIDCard15to18($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. self::calcIDCardCode($idcard);return $idcard;}

php下对中国内地身份证进行验证相关推荐

  1. Js实现中国公民身份证号码有效性验证

    2019独角兽企业重金招聘Python工程师标准>>> 参考: Java实现中国公民身份证号码有效性验证 Php实现中国公民身份证号码有效性验证 本文将使用JavaScript实现中 ...

  2. 中国身份证号码验证,支持15,18位,可验证成功90%的身份证号

    using System;/// <summary> /// Summary description for IDCardValid /// </summary> public ...

  3. 主要视频压缩技术在中国内地市场发展分析

    1 主要视频压缩技术在中国内地市场发展分析 --------孟冰 晶门科技 一,视频压缩技术背景及主要压缩技术发展 视频处理技术是伴随着视频从模拟到数字化转变的过程中得到蓬勃发展的. 随着人们对视频图 ...

  4. 常用正则表达式 新旧身份证合法性验证及相互转换算法

    关键字:正则表达式  模式匹配 Javascript 摘要:收集一些常用的正则表达式. 正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表 ...

  5. 刚刚!2020世界大学学术排名正式发布:中国内地144所大学上榜!

    文末留言区送 5 本北京大学出版社赞助书籍 来源:软科 编辑:双一流高校 8月15日,2020软科世界大学学术排名如期发布! 排名展示了全球领先的1000所研究型大学,中国内地共有144所大学上榜,清 ...

  6. .net身份证号码验证

    using System; /// <summary>/// Summary description for IDCardValid/// </summary>public c ...

  7. python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  8. 正则表达式实现身份证信息验证

    一.任务描述   西普工程师想了解正则表达式,为达到更好的对正则更深入的认知,打算利用正则表达式实现身份证信息的验证的实验,结合Python的基础知识实现并填写工作报告. 二.任务目标 1)熟悉Pyt ...

  9. 爱过!HTC悄然撤离中国内地市场:京东、天猫旗舰店已全部关闭

    目前,HTC手机京东自营旗舰店.天猫官方旗舰店现已经无法搜索.在京东搜索"HTC",已经没有HTC手机的踪迹,在天猫打开HTC的官方旗舰店,也只能看到HTC Vive京东自营旗舰店 ...

最新文章

  1. 深入理解Java类加载器:Java类加载原理解析
  2. java it_关于 Java Iterator(迭代器)学习笔记
  3. 如何将文件拷贝服务器上,如何将文件复制到云服务器上
  4. 建立带头结点的双向链表_尾插法
  5. 大数据下union all的视图分页解决方案
  6. 1.14_radix_sort_基数排序
  7. ext拖动gridpanel的列组件消失_未来光伏组件市场格局:182mm市场占有率65%、210占5%、166占20%...
  8. cheat engine 将选中目标的函数_EXCEL函数与公式剖析:IF
  9. php中的代码延迟函数sleep() usleep()
  10. dhtmlxgantt|dhtmlx甘特图|最新版Crack
  11. 惠普局域网共享打印机设置_HP LaserJet 1020局域网共享打印实操
  12. 拦截X64安卓模拟器封包拦截发送技术(不用代理/网卡/dll一切)
  13. 程序员情人节防止割韭菜
  14. SQL项目-IOS 应用商店分析
  15. HECATE G2耳机麦克风问题解决
  16. 傲梅的分区助手助我轻松扩C盘
  17. Discuz x2 数据字典
  18. JAVA编写学校超市选址问题_中小型超市商品管理系统设计与实现【开题报告+文献综述+毕业论文】.docx...
  19. Qt之QLCDNumber
  20. Python-从PDF中提取图片、压缩PDF

热门文章

  1. Octopus 源码阅读(一)
  2. 如何让自己像打王者荣耀一样发了疯、拼了命、石乐志的学习?(转载)
  3. matlab取矩阵满足条件,[MATLAB]矩阵中寻找满足条件的元素
  4. 小学数学测试软件报告,2017年小学数学期末考试质量分析报告
  5. ERD Online 4.0.11 在线数据库建模、元数据协作平台(免费、私有部署)
  6. 4个中英文翻译神器,一键翻译国外网站!支持超多语种
  7. 【技术分享】川崎机器人 BITS32指令的答疑
  8. 东北大学和南邮的计算机,考研南邮跟东北大学通信与信息系统
  9. k歌一定要带监听耳机吗_音乐人需要什么样的监听耳机?
  10. Android6.0 源码修改之Settings音量调节界面增加通话音量调节