zoukankan      html  css  js  c++  java
  • java算法——通过身份证号获取出生的年月日

    思路:身份证号是由15为的数字或者17位数字+一位数字/x/X组成的,正则表达式的写法就是匹配一个字符串是不是由15位数字组成或者是17位数字+一位数字/x/X组成的

    正则表达式的写法:^(d{15}|d17[dxX])$

    输出的格式:yyyy-MM-dd

    声明三个字符串变量分别用来存储yyyy、MM、dd,身份证的第7位到第14位是出生的年月日,但在字符串中的下标是从0开始的,所以就需要从下标为6的地方开始取,

    年:【6,10)

    月:【10,12)

    日:【12,14)

    最后返回自己想要的格式

        /**
         * 省份证的正则表达式^(d{15}|d{17}[dx])$
         * @param id    省份证号
         * @return    生日(yyyy-MM-dd)
         */
        public String extractYearMonthDayOfIdCard(String id) {
            String year = null;
            String month = null;
            String day = null;
             //正则匹配身份证号是否是正确的,15位或者17位数字+数字/x/X
            if (id.matches("^\d{15}|\d{17}[\dxX]$")) {
                year = id.substring(6, 10);
                month = id.substring(10,12);
                day = id.substring(12,14);
            }else {
                System.out.println("身份证号码不匹配!");
                return null;
            }
            return year + "-" + month + "-" + day;
        }
  • 相关阅读:
    C语言I博客作业02
    C语言II—博客作业01
    学期总结
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I 博客作业04
    C语言II博客作业04
    C语言II博客作业03
  • 原文地址:https://www.cnblogs.com/jjking/p/11457219.html
Copyright © 2011-2022 走看看