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 相关文章推荐
在PHP里得到前天和昨天的日期的代码
Aug 16 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
Yii框架中memcache用法实例
Dec 03 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
php实现微信模板消息推送
Mar 30 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
php实现微信企业转账功能
Oct 02 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 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过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
js模拟实现烟花特效
2020/03/10 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
python列表操作实例
2015/01/14 Python
Python注释详解
2016/06/01 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
逼真的HTML5树叶飘落动画
2016/03/01 HTML / CSS
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
AOP的定义以及作用
2013/09/08 面试题
党建示范点实施方案
2014/03/12 职场文书
教学评估实施方案
2014/03/16 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
丧事答谢词
2015/01/05 职场文书
学生会部长竞选稿
2015/11/19 职场文书
Python实现简单的俄罗斯方块游戏
2021/09/25 Python