不想打字了看代码吧。一个朋友发的,但是比较有用吧,文件中录入的身份证地址的可能有些出入,极少数。

import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import java.util.Scanner;
import java.util.Set;public class IDCardFactory {public static void main(String[] args) {Properties prop = new Properties();InputStream in = IDCardFactory.class.getResourceAsStream("city.properties");try {prop.load(in);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}validateIdcard(prop);}private static void validateIdcard(Properties prop) {// TODO Auto-generated method stubString idcard = new Scanner(System.in).nextLine().trim();char[] chs = idcard.toCharArray();int[] ins = new int[18];for (int i = 0; i < chs.length - 1; i++) {ins[i]= Integer.parseInt(String.valueOf(chs[i]));}int[] invali = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};int sum=0;for (int i = 0; i < ins.length-1; i++) {sum += ins[i] * invali[i];}int endint = sum % 11;String[] model ={"1","0","X","9","8","7","6","5","4","3","2"};String endstr = model[endint];String inendstr = String.valueOf(chs[chs.length-1]);if(!endstr.equals(inendstr)){System.out.println("身份证号码输入非法!");return;}String sex="男";if(ins[ins.length-2] % 2 == 0){sex = "女";}System.out.println("身份证号码:"+idcard+",籍贯:"+prop.getProperty(idcard.substring(0, 6))+",性别:"+sex);}private static void creatIdCard(Properties prop) {Set<Object> keys= prop.keySet();double ran = Math.random();long index = Math.round(ran * 3146); long starttime = -639129600000L;long dtcl = Math.round( ran * 1564617600000L);SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");String birthday = format.format(new Date(starttime + dtcl));String [] strs = {"0","1","2","3","4","5","6","7","8","9"};String sign="";for (int i = 0; i < 3; i++) {sign += strs[(int)Math.round(Math.random() * 8)];}Object[] keyArr = keys.toArray();String key = keyArr[(int)index].toString();String value = prop.getProperty(key);createIDNum(key,value,birthday,sign);}private static void createIDNum(String key,String value,String birthday,String sign) {char[] chs = (key+birthday+sign).toCharArray();int[] ins = new int[17];for (int i = 0; i < chs.length; i++) {ins[i]= Integer.parseInt(String.valueOf(chs[i]));}int[] invali = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};int sum=0;for (int i = 0; i < ins.length; i++) {sum += ins[i] * invali[i];}int endint = sum % 11;String[] model ={"1","0","X","9","8","7","6","5","4","3","2"};String endstr = model[endint];String idcardnum = key+birthday+sign+endstr;String sex="男";if(Integer.parseInt(sign) % 2 == 0){sex = "女";}System.out.println("身份证号码:"+idcardnum+",籍贯:"+value+",性别:"+sex);}}

这个是从键盘录入进行判断的。
.properties文件…在网盘里拿吧。
获取properties文件内容,不知道请自行百度。

提取码: aby1

通过身份证号查出所在籍贯以及性别。相关推荐

  1. 用python实现身份证号的解析(输出性别,生日,生肖,星座)

    用python实现身份证号的解析,输出性别,生日,生肖,星 实现功能: 1.解析生日 2.解析性别 3.解析所在省份 4.解析生肖,星座 代码如下: ID=input('请输入18位身份证号码:'); ...

  2. 利用python识别身份证号后获取年龄和性别信息

    利用python识别身份证号后获取年龄和性别信息 1. 实验目的 利用python识别身份证号后,从身份证号中获取年龄和性别信息 2. 主代码 1. 身份证号码识别 # !/usr/bin/pytho ...

  3. ## 根据身份证号自动生成年龄以及性别

    根据身份证号自动生成年龄以及性别 <div class="form-group"><label class="col-sm-3 control-labe ...

  4. 【通用方法】身份证号校验、获取年龄性别生日(兼容一代二代身份证)

    二代身份证正则表达式 /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2])) ...

  5. python 根据身份证号计算年龄和性别_excel如何根据身份证号计算男女出生日期、性别和年龄?分享了!...

    工作中,有时需要从身份证号中提取性别.出生日期.年龄等.如果手工统计,不仅容易出错,还耗时耗力.春暖花开的时候,有那时间不如出去踏青散步,赏花游玩. 下面小编为大家分享一种方法,使用Excel函数轻松 ...

  6. python身份验证(身份证号中提取出生日期及性别)。

    name=input("请输入姓名:") sfz=input("请输入你的的身份证号:") year=sfz[6:10] //出生年份 month=sfz[10 ...

  7. js通过身份证号获取出生年月日,性别,年龄

    输入框输入身份证号时,我们可以通过js的方法来提取出身份证号里面的出生年月日以及性别,年龄,代码如下 /** 当type=1时获取出生日期,type=2时获取性别,type=3时获取年龄* */var ...

  8. C语言3:根据身份证号输出生年月日和性别

    18位身份证号码第7到10位为出生年份(四位数),第11到12位为出生月份,第13 到14位代表出生日期,第17位代表性别,奇数为男,偶数为女. 用户输入一个合法的身份证号,请输出用户的出生年月日和性 ...

  9. C# 检验身份证号并提取生日和性别

    /// <summary>         /// 验证身份证号码         /// </summary>         /// <param name=&quo ...

  10. 提取身份证号,解析身份证号出生年月、出生地、性别 的Python 实现与在线使用工具

    从一篇文本中,抽取出所包含的 身份证号 并解析出其中的 省.市.县.出生年月.性别.校验码.  这个功能,JioNLP帮你实现 源码在 github:JioNLPhttps://github.com/ ...

最新文章

  1. Task04——零基础入门NLP - 基于深度学习的文本分类1
  2. LeetCode 732. 我的日程安排表 III(差分思想)
  3. 微软职位内部推荐-Principal Group Program Manager
  4. Mac OS下使用VS Code对C++程序进行debug的配置
  5. vs2013创建c++控制台应用程序
  6. 【待续】C数据结构2.3-顺序表之插入算法
  7. 关于GCD执行任务的理解
  8. python 谷歌翻译_Python:谷歌翻译20次的程序如何实现?
  9. 这70道Java微服务面试题,你能对几道?
  10. QQ浏览器怎么关闭云加速 QQ浏览器云加速关闭方法
  11. selenium(三)之webDriver与浏览器版本问题
  12. 大数据应用的典型案例
  13. UVA Team Queue
  14. pythorch 基本学习
  15. HDU 6411 带劲的and和
  16. Java List 过滤重复数据
  17. S3c2440 IIC
  18. linux 执行计划任务
  19. 先电openstack2.4云计算省赛任务一:iaas平台搭建任务
  20. 运行spark时不使用框架中默认提供的大量log4J日志输出

热门文章

  1. cadlisp点选面积标注_一个在CAD中标注坐标的LISP
  2. 如何打开大型文本文件
  3. linux系统vsftpd,Linux下vsftpd的配置
  4. 注解学习(参考尚硅谷视频)
  5. MapGIS10.3新功能
  6. linux主机使用rdesktop连接windows进行usb重定向
  7. hbase命令snapshot快照使用
  8. 微信小程序发送验证码短信SDK及文档
  9. DataMatrix 码提取流程
  10. 数据结构中的英文及算法缩写