通过身份证判断一个人是否成年,主要困难和不注意到的地方,就是不同人18周岁,这18年之间的闰年,导致天数会不一样

    /*** 是否成年* @param $IDCard* @return int 0 成年,1未成年*/public static function is_adult($IDCard){$flag = 0;if(strlen($IDCard)==18){$tyear=intval(substr($IDCard,6,4));$tmonth=intval(substr($IDCard,10,2));$tday=intval(substr($IDCard,12,2));if($tyear>date("Y")||$tyear<(date("Y")-100)){$flag=0;}elseif($tmonth<0||$tmonth>12){$flag=0;}elseif($tday<0||$tday>31){$flag=0;}else{$day_sum = self::full_year_day($tyear,$tmonth,18);if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>$day_sum*24*60*60){$flag=0;}else{$flag=1;}}}elseif(strlen($IDCard)==15){$tyear=intval("19".substr($IDCard,6,2));$tmonth=intval(substr($IDCard,8,2));$tday=intval(substr($IDCard,10,2));if($tyear>date("Y")||$tyear<(date("Y")-100)){$flag=0;}elseif($tmonth<0||$tmonth>12){$flag=0;}elseif($tday<0||$tday>31){$flag=0;}else{$day_sum = self::full_year_day($tyear,$tmonth,18);if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>$day_sum*24*60*60){$flag=0;}else{$flag=1;}}}return $flag;}/*** n周岁的天数* @param $tyear* @param $tmonth* @return int*/public static function full_year_day($tyear,$tmonth,$type=18){$sum=365*$type;for($i=$tyear+1;$i<$tyear+$type;$i++)//考虑中间年份{if(self::is_leap_year($i))$sum++;}if(self::is_leap_year($tyear)&&$tmonth<=2)//考虑初末两年$sum++;if(self::is_leap_year($tyear+$type)&&$tmonth>=3){$sum++;}return $sum;}/*** @param $year* @return int 1是闰年,0不是闰年*/public static function is_leap_year($year){if(($year%4==0&&$year%100!=0)||$year%400==0)return 1;elsereturn 0;}

php 身份证判断是否成年相关推荐

  1. moment.js根据身份证判断是否成年

    moment.js中允许传入一串字符传然后变成时间格式 话不多说,直接上代码,因为实在uniapp中使用的,因此加了this var birthDay = this.$moment("199 ...

  2. ios 判断数字开头_iOS 判断首字母是否大写 判断身份证 判断纯数字 判断纯汉字...

    对NSArray过滤 NSArray *array = [[NSArray alloc]initWithObjects:@"beijing",@"shanghai&quo ...

  3. python年龄判断,输入年龄,判断是否成年

    age =int(input("please your age?")) if age >18: print('你已成年,都'+str(age)+'岁了') else: pri ...

  4. 输入身份证判断性别python最后一位是英文怎么写_身份证号码最后一位,是表示性别用的吗?...

    展开全部 表示性别是倒数第二位,偶为女单为男. 最后一位是数字校验码,主要是为了校验计算机输入公民身份e68a84e8a2ad62616964757a686964616f31333365633963证 ...

  5. java身份证号码验证是否有效,校验是否成年

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. Android 身份证出生日期与系统当前时间判断年龄

    项目中刚遇到针对身份证号做出年龄判断对18岁以下理财用户的舍去方案,贴出来大家一起共享吧!!! // 判断是否成年public static boolean isAdult(String str){ ...

  7. python判断语句if...elif...else、if嵌套、三目运算符

    1. 什么是条件语句 条件成⽴执⾏某些代码,条件不成⽴则不执⾏这些代码. 2. if 语法 if 条件:条件成⽴执⾏的代码1条件成⽴执⾏的代码2...... 示例代码: if True:print(' ...

  8. js验证身份证号,超准确

    看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p    其中 dddddd:地区码    yymmdd: 出生 ...

  9. python的if循环语句_第二个是Python的循环语句,基础,使用,if,条件,判断,while,for

    条件判断语句 Python里的条件判断语句有if.if--else和if--elif--elif--else if条件判断语法格式 if 条件判断: 条件成立,执行此处代码 例:输入年龄,判断是否成年 ...

最新文章

  1. WCF中服务继承多个契约的使用
  2. document.domain ajax,PHP ajax跨子域的解决方案之document.domain+iframe实例分析
  3. VS 常用的一些技巧和问题集锦【不断的更新中】
  4. 大剑无锋之素数【面试推荐】
  5. buf.readInt32LE函数详解
  6. [数据结构]求解迷宫最短路径问题
  7. cisco3550交换机限速配置
  8. R语言生信作图代码集合大全
  9. 【数据结构(C语言)】数据结构-内部排序
  10. Illustrator中文版教程,如何在 Illustrator 中使用自由变换工具?
  11. 视频解析工具youtube-dl
  12. VSCode python 中文乱码
  13. Camtasia如何给视频或者图片调色
  14. Photoshop 使用技巧
  15. 新浪微博视频下载教程
  16. 在PS中快速制作发朋友圈的九宫格切图
  17. PowerBI软件的power query编辑栏和高级编辑器中文显示乱码解决办法
  18. 深入理解Java内存模型(JMM和volatile关键词)
  19. 工程经济作业1答案_大工19秋《工程经济学》在线作业1(参考答案)
  20. 云服务器-裸金属介绍

热门文章

  1. labview超声波测距
  2. “MOSE就是战略”系列之一:MOSE是什么?
  3. Godaddy主机评测,Godaddy主机好吗?
  4. 在房间里无法使用4G信号这么解决
  5. erp报表html输出报错,用友u8软件报表输出EXCEL时报错
  6. AndroidStudio-图片的上传以及存进mysql数据库里
  7. 微服务Spring Boot 整合 Redis 实现 好友关注
  8. Druid连接池源代码分析之一
  9. 【设计模式】行为型01策略模式(strategy patten)
  10. 思科CCNA第一学期第八章答案