身份证工具-IdcardUtil案例

引入工具类hutool

	<dependency>
		    <groupId>cn.hutool</groupId>
		    <artifactId>hutool-all</artifactId>
		    <version>4.5.11</version>
		</dependency>

实例

package org.jeecg.modules.zzyhutool;

import cn.hutool.core.util.IdcardUtil;
import lombok.extern.slf4j.Slf4j;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

@Slf4j
public class IdcardUtilTest {

    public static void main(String[] args) {
        /**
         * isValidCard 验证身份证是否合法
         */
        String idCard = "350832200808080048";
        boolean validCard = IdcardUtil.isValidCard(idCard);
        log.info("验证身份证是否合法:{}", validCard);
        /**
         * 获取生日
         */
        String birthByIdCard = IdcardUtil.getBirthByIdCard(idCard);
        log.info("获取生日:{}", birthByIdCard);
        /**
         * 获取年龄
         */
        int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard);
        log.info("获取年龄:{}", ageByIdCard);

        LocalDateTime localDateTime = LocalDateTime.parse("2018-03-13 14:41:14", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        ZoneId zoneId = ZoneId.systemDefault();
        ZonedDateTime zdt = localDateTime.atZone(zoneId);
        Date date = Date.from(zdt.toInstant());
        int ageByIdCard1 = IdcardUtil.getAgeByIdCard(idCard, date);
        log.info("获取年龄:{}", ageByIdCard1);
        /**
         * 获取生日年
         */
        Short yearByIdCard = IdcardUtil.getYearByIdCard(idCard);
        log.info("获取生日年:{}", yearByIdCard);
        /**
         * 获取生日月
         */
        Short monthByIdCard = IdcardUtil.getMonthByIdCard(idCard);
        log.info("获取生日月:{}", monthByIdCard);
        /**
         * 获取生日天
         */
        Short dayByIdCard = IdcardUtil.getDayByIdCard(idCard);
        log.info("获取生日天:{}", dayByIdCard);
        /**
         * 获取性别
         */
        int genderByIdCard = IdcardUtil.getGenderByIdCard(idCard);
        log.info("获取性别:{}", genderByIdCard);
        /**
         * 获取省份
         */
        String provinceByIdCard = IdcardUtil.getProvinceByIdCard(idCard);
        log.info("获取省份:{}", provinceByIdCard);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值