package com.alex.RegExp;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class IDnumDistinguish {//判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日。public static void main(String[] args) {while(true){//提示用户输入身份证号System.out.println("请输入身份证号码:");//通过流处理获得用户身份证号BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));String idNum=null;try {idNum= consoleReader.readLine();} catch (IOException e) {e.printStackTrace();}//定义判别用户身份证号的正则表达式(要么是15位,要么是18位,最后一位可以为字母)Pattern idNumPattern = Pattern.compile("(\\d{14}[0-9a-zA-Z])|(\\d{17}[0-9a-zA-Z])");//通过Pattern获得MatcherMatcher idNumMatcher = idNumPattern.matcher(idNum);//判断用户输入是否为身份证号if(idNumMatcher.matches()){System.out.println("您的出生年月日是:");//如果是,定义正则表达式提取出身份证中的出生日期Pattern birthDatePattern= Pattern.compile("\\d{6}(\\d{4})(\\d{2})(\\d{2}).*");//身份证上的前6位以及出生年月日//通过Pattern获得MatcherMatcher birthDateMather= birthDatePattern.matcher(idNum);//通过Matcher获得用户的出生年月日if(birthDateMather.find()){String year = birthDateMather.group(1);String month = birthDateMather.group(2);String date = birthDateMather.group(3);//输出用户的出生年月日System.out.println(year+"年"+month+"月"+date+"日");                }   }else{//如果不是,输出信息提示用户System.out.println("您输入的并不是身份证号");}}}}

利用正则表达式判断身份证号相关推荐

  1. 判断身份证号是否合法

    -- ============================================= -- Description: <判断身份证号是否合法,返回结果对应如下:> -- -2: ...

  2. 正则表达式 判断 连号如“123456”、同号如“888888”、连同号如“112233”“222333”...

    正则表达式 判断 连号如"123456".同号如"888888".连同号如"112233""222333" import ...

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

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

  4. 使用正则表达式进行身份证号匹配

    正则表达式匹配身份证号分为:18位和15位 校验 18位 身份证 地区: ([1-6][1-9]|50)\d{4} // 补充重庆地区50 年的前两位: (18|19|20) 1800-2399 年的 ...

  5. 判断身份证号是否合法;验证城市区号,生日

    判断身份证号是否合法 ; 验证城市区号 , 生日 直接上代码 /*** 判断身份证号是否合法* 验证城市区号;生日* Date:2018年12月29日 * @author D2yml**/ publi ...

  6. 判断身份证号,根据身份证号自动生成出生日期

    判断身份证号,根据身份证号自动生成出生日期 idCodeValid(rule, value, callback) => {let reg = /(^[1-9]\d{5}(18|19|([23]\ ...

  7. MySQL正则表达式判断身份证_php正则判断是否为合法身份证号的方法

    本文实例讲述了php正则判断是否为合法身份证号的方法.分享给大家供大家参考,具体如下: /** * 判断是否为合法的身份证号码 * @param $mobile * @return int */ fu ...

  8. 正则表达式验证身份证号以及验证校验位的正确性

    需求:给定一个字符串,从中提取出身份证号 关于验证15位和18位身份证号的正则表达式可以参考下面的内容: http://www.cppcns.com/wangluo/re/183062.html 一. ...

  9. 如何用正则表达式验证身份证号

    身份证号组成: ·17位数字 + 1位校验码 ·地址码:前六位 ·出生日期码:第七位至第十位 ·顺序码:第十五位至十七位(对同年同月同日生的人便定的顺序号,顺序号奇数为男生,偶数为女生) ·检验码:第 ...

最新文章

  1. base64 解码
  2. Reallusion Character Creator 3中文版
  3. php-fpm打开错误日志的配置
  4. 谁拿了最多奖学金pascal程序
  5. HUE集成Hbase
  6. 前端开发 表单元素 0229
  7. 构建高性能WEB站点笔记三
  8. 苹果电脑屏幕刷新率如何调整
  9. ssm网上书城系统毕业设计-附源码180919
  10. 五子棋游戏程序禁手设置算法(C语言源码)
  11. 最新PHP对接微信支付,发起商家转账API,商家转账到零钱
  12. 用python做一个好玩的数字炸弹游戏
  13. 数据库系列7:事务与锁的实现原理
  14. 成功解决 word2019设置背景色为护眼的绿色
  15. 用PHP实现MD5算法
  16. matlab画图颜色属性
  17. 网络安全乱流,超级保护才是根本
  18. JavaScript 入门哪本书最好?(问、答) 《转载》
  19. 一周新闻纵览:工信部组织召开综合整治骚扰电话专项行动;智能锁百万指纹泄密;4G不会降速5G网速会更快
  20. Linux NTP时钟同步

热门文章

  1. pp什么意思_【问答】pp测试中的“pp”是什么意思啊? - 邦阅网-外贸知识服务平台...
  2. plsql win64 登录oracle数据库报 Initialization error Could not initialize
  3. PPT 课程 (631配色原则)
  4. 无线高级设置服务器,tplink无线路由器无线高级设置里面的参数怎样设置
  5. mysql root密码登陆,修改mysql的root密码后还不能登陆怎么办?
  6. CAD2008安装失败解决方案(附CAD2008安装包)
  7. opencv无法读取MP4格式视频
  8. ASP php sem,Stephen的SEM博客
  9. php动态寄生虫程序,webshell动态SEO寄生虫程序
  10. NRF51822---驱动0.96寸OLED屏幕(连载4)