首先弄懂身份证上数字都代表什么意思?

  • 1-2位为省、自治区、直辖市代码;
  • 3-4位为地级市、盟、自治州代码;
  • 5-6位为县、县级市、区代码;
  • 7-14位为出生年月日,比如19950301代表19957年3月1日出生;
  • 15-17位为顺序码,是同一地址码所标示的区域范围内,对同年同月同日生的居民编订的顺序码。其中第17位表示性别,男性为单数,女性为双数;
  • 18位为作为尾号的校验码,是由号码编制单位按照统一公式,通过前17位数字计算出来的。

知道了这些就好获取信息了。
效果展示:

接口:
为了测试,在接口中把身份证号码写死。

@GetMapping("/getIdCardInfo")public String getIdCardInfo() {String idCard = "37172119950321483x";//substring(x,y),从第x位开始截取,到第y位。String provinceId = idCard.substring(0, 6);String cardInfoAddress = addressProvinceService.getIdCardInfo(provinceId);String year = idCard.substring(6, 10);String month = idCard.substring(10, 12);String day = idCard.substring(12, 14);String gender = idCard.substring(16, 17);String inCardInfo="地址:" + cardInfoAddress + ",出生日期:" + year + ",月:" + month + ",日:" + day + ",性别:" + getGenderByIdCard(gender);System.out.println(inCardInfo);return inCardInfo;}

备注:
addressProvinceService.getIdCardInfo(provinceId);是查询地区信息,每一个省市县的信息都在数据库存储,方法中包含的SQL是:
getGenderByIdCard(gender);是一个性别工具类。详情见文章最后。

 SELECTCONCAT(a.`name` , b.`name` , c.`name`)  as '地址'FROMaddress_province a,address_city b,address_country cWHEREa.id=b.province_id andb.id=c.city_id andc.id=#{query}

地区获取表连接:
省份地址SQL数据
市区地址SQL数据
县地区SQL数据

性别工具类代码:

package com.excel.util;/*** @author lenovo* @date 2022/4/20*/
public class GenderUtil {/*** 男/女/未知 转换成 1/0/2* @param gender 男/女* @return*/public static String getGenderNum(String gender) {if ("男".equals(gender)) {return "1";} else if ("女".equals(gender)) {return "0";} else {return "2";}}/*** 1/0/2 转换成 男/女/未知* @param gender* @return*/public static String getGenderByNum(String gender) {if ("1".equals(gender)) {return "男";} else if ("0".equals(gender)) {return "女";} else {return "未知";}}/*** 根据身份证倒数第二位获取性别  单数男/双数女* @param gender* @return*/public static String getGenderByIdCard(String gender) {int sex= Integer.parseInt(gender);return ((sex%2==1) ? "男" : "女");}
}

根据身份证号码获取身份证信息(省市县、出生日期、性别)相关推荐

  1. 利用身份证号获取生日信息

    1 问题 如何利用Java程序从身份证号中获取生日信息. 2 方法 采用"截图+文字+代码"的方式描述. //调用函数获取当前日期以及截取身份证号码中的数字 import java ...

  2. python爬虫--根据身份证号码获取户籍地、出生年月等信息

    一.背景 工作中偶尔会遇到这样的情况,给你一堆客户身份证号码,然后要你把对应的性别.生日.户籍地等信息弄出来. 最常用的方法就是用excel表套公式,这个方式如果用来取性别.生日这些信息的话问题不大, ...

  3. PHP根据身份证号码获取户口所在地

    最近需要人员信息的户口所在地还必须保持一致,但是之前没有让用户输入因此根据网上的一些方法自己整理了一个方法分享给大家: /** 根据身份证号码获取出身地址* author:阿剂* @param str ...

  4. php 身份证号码获取星座和生肖

    本文介绍下,php用身份证号码获取星座和生肖的方法,一个简单的php实例,从身份证号码中取得星座与生肖信息,有兴趣的朋友参考研究下吧.本文转自: http://www.jbxue.com/articl ...

  5. 通过身份证号获取个人信息(JAVA代码)

    通过身份证号获取个人信息(JAVA代码) 个人思路 如果有错误,欢迎留言 代码 个人思路 文档下载地址: 身份证对应省区 1.首先对身份证进行输入 对身份证信息进行匹配看是否符合身份证规则,我是利用正 ...

  6. java 身份证地址提取籍贯_从身份证号码中提取信息,这些方法请收好

    小伙伴们好啊,今天老祝为大家准备了一组和身份证有关的函数公式,看看如何从身份证号码中提取出需要的信息. 如下图为所示,是一份模拟的员工信息表,A列是姓名,B列是身份证号码,C列是职级. ★ 首先咱们来 ...

  7. 转java通过身份证号码获取出生日期、性别、年龄

    转自:https://blog.csdn.net/u011199063/article/details/79564587 身份证号码: 15位:6位地址码+6位出生年月日(900101代表1990年1 ...

  8. java通过身份证号码获取出生日期、性别、年龄

    身份证号码: 15位:6位地址码+6位出生年月日(900101代表1990年1月1日出生)+3位顺序码 18位:6位地址码+8位出生年月日(19900101代表1990年1月1日出生)+3位顺序码+1 ...

  9. C# 根据身份证号码获取人员性别和出生年月

    C# 根据身份证号码获取人员性别和出生年月 //处理18位的身份证号码从号码中得到生日和性别代码if (identityCard.Length == 18){birthday = identityCa ...

  10. JS身份证号码校验,JS根据身份证号码获取出生年月日,JS根据出生年月日获取年龄,JS根据身份证号码获取性别

    目录 1.JS身份证号码校验 2.JS根据身份证号码获取出生年月日 3.JS根据出生年月日获取年龄 4.JS根据身份证号码获取性别 1.JS身份证号码校验 /*** 身份证校验** @export* ...

最新文章

  1. CSS 选择器:BeautifulSoup4解析器
  2. 算法竞赛五冠五亚得主,手把手带你了解算法竞赛
  3. 【数据库】Ubuntu12.04安装配置Redis3.0
  4. html表单显示提示,html侧栏对应表单的提示显示
  5. 关于redis的文章
  6. 单片机小精灵t2_51单片机定时器T2初始化设置
  7. 修改mysql表的itemId字段为自增长SQL语句
  8. 关于 TypeScript 内 constructor signature 的一些失败尝试
  9. 浅谈javascript递归(白话版)
  10. 《企业软件交付:敏捷与高效管理精要》——3.4 企业软件交付的软件工厂方法...
  11. SpringIOC容器-创建对象
  12. 搜索 —— 深搜的剪枝技巧
  13. Oracle定时任务
  14. 【Hoxton.SR1版本】Spring Cloud Gateway网关初体验
  15. 国开文学英语赏析 2021春(2021年7月)
  16. 女孩取名:带日字旁好听有内涵的女孩名字
  17. 算法设计与分析第十三次作业
  18. 清明忆语 | 缅怀那些正渐行渐远的编程语言
  19. 两篇文章都是翻译了一半就翻不下去了,E文水平有待提高啊
  20. ajax传cookie,为什么jquery的.ajax()方法没有发送我的会话cookie?

热门文章

  1. 什么是AHP 层次分析法?
  2. usb转232串口线驱动android,prolific usb转串口驱动下载
  3. JAVA项目答辩的自我评价_毕业论文答辩自我评价
  4. 没有对手的人生是孤单的
  5. 电力猫服务器的网页,电力猫方案完美解决家庭网络布局
  6. Google Earth 嵌入Qt应用程序
  7. matlab风玫瑰图,风玫瑰图的Matlab编程绘制
  8. 110KV降压变电所电气一次部分及防雷保护设计
  9. 十分钟搞清字符集和字符编码
  10. php201534,PHP设计聊天室步步通4