php提取身份证号码中的生日日期以及验证是否为成年人的函数


Posted in PHP onSeptember 29, 2015

php 提取身份证号码中的生日日期以及确定是否成年的一个函数。可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下:

<?php
//用php从身份证中提取生日,包括位和位身份证
function getIDCardInfo($IDCard){
  $result['error']=;//:未知错误,:身份证格式错误,:无错误
  $result['flag']='';//标示成年,标示未成年
  $result['tdate']='';//生日,格式如:--
  if(!eregi("^[-]([-a-zA-Z]{}|[-a-zA-Z]{})$",$IDCard)){
    $result['error']=;
    return $result;
  }else{
    if(strlen($IDCard)==){
      $tyear=intval(substr($IDCard,,));
      $tmonth=intval(substr($IDCard,,));
      $tday=intval(substr($IDCard,,));
      if($tyear>date("Y")||$tyear<(date("Y")-)){
        $flag=;
      }elseif($tmonth<||$tmonth>){
        $flag=;
      }elseif($tday<||$tday>){
        $flag=;
      }else{
        $tdate=$tyear."-".$tmonth."-".$tday." ::";
        if((time()-mktime(,,,$tmonth,$tday,$tyear))>****){
          $flag=;
        }else{
          $flag=;
        }
      }
    }elseif(strlen($IDCard)==){
      $tyear=intval("".substr($IDCard,,));
      $tmonth=intval(substr($IDCard,,));
      $tday=intval(substr($IDCard,,));
      if($tyear>date("Y")||$tyear<(date("Y")-)){
        $flag=;
      }elseif($tmonth<||$tmonth>){
        $flag=;
      }elseif($tday<||$tday>){
        $flag=;
      }else{
        $tdate=$tyear."-".$tmonth."-".$tday." ::";
        if((time()-mktime(,,,$tmonth,$tday,$tyear))>****){
          $flag=;
        }else{
          $flag=;
        }
      }
    }
  }
  $result['error']=;//:未知错误,:身份证格式错误,:无错误
  $result['isAdult']=$flag;//标示成年,标示未成年
  $result['birthday']=$tdate;//生日日期
  return $result;
}

用法如下:

getIDCardInfo('身份证号码');

以上代码就是小编跟大家分享的php提取身份证号码中的生日日期以及验证是否为成年人的函数,希望对大家有用。

PHP 相关文章推荐
paypal即时到账php实现代码
Nov 28 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
处理单名多值表单的详解
Jun 08 PHP
php类的定义与继承用法实例
Jul 07 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php微信公众号开发之秒杀
Oct 20 PHP
YII框架关联查询操作示例
Apr 29 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
PHP实现简单注册登录系统
Dec 28 PHP
PHP类的封装与继承详解
Sep 29 #PHP
PHP比较运算符的详细介绍
Sep 29 #PHP
php提高网站效率的技巧
Sep 29 #PHP
四个PHP非常实用的功能
Sep 29 #PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 #PHP
PHP+AJAX实现投票功能的方法
Sep 28 #PHP
WIFI万能钥匙密码查询接口实例
Sep 28 #PHP
You might like
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
thinkphp分页集成实例
2017/07/24 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
syntaxhighlighter 使用方法
2007/07/02 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Python中使用SAX解析xml实例
2014/11/21 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python实现超市商品销售管理系统
2019/10/25 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
应聘教师推荐信
2013/10/31 职场文书
大学生个人求职信
2014/06/02 职场文书
2014年底个人工作总结
2015/03/10 职场文书
横空出世观后感
2015/06/09 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android
字节飞书面试promise.all实现示例
2022/06/16 Javascript