身份证校验工具类

身份证有效性校验 从身份证号码中获取性别 从身份证号码中获取出生日期 15位身份证号码转换为18位 获取身份证校验码 校验身份证是否合法 获取年龄 public class IdCardManageUtil { private IdCardManageUtil() { } /** * 加权因子 */ private final static int[] WEIGHT = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3
摘要由CSDN通过智能技术生成
  1. 身份证有效性校验

  2. 从身份证号码中获取性别

  3. 从身份证号码中获取出生日期

  4. 15位身份证号码转换为18位

  5. 获取身份证校验码

  6. 校验身份证是否合法

  7. 获取年龄

  8. public class IdCardManageUtil {
     
        private IdCardManageUtil() {
        }
     
        private final static int[] WEIGHT = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1};
        /**
         * 校验码
         */
        private final static String[] VERIFYCODE = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
        private final static String ERRORMESSAGE = "身份证无效!";
     
        /**
         * 判断身份证号码有效性
         *
         * @param idCard 身份证号码
         * @return 校验结果 0表示无效,1表示有效
         */
        public static Resp checkIdCard(String idCard) {
            String newIdCard = idCard;
            if (idCard.length() != 15 && idCard.length() != 18) {
                return Resp.fail("身份证位数必须是15位或者18位!");
            } else {
                // 如果是15位,转换为18位
                if (idCard.length() == 15) {
                    Long m = Long.parseLong(idCard.substring(8, 10));
                    Long d = Long.parseLong(idCard.substring(10, 12));
                    if (m > 12 || d > 31) {
                        return Resp.fail(ERRORMESSAGE);
                    } else {
                        n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值