工具类

您所在的位置:网站首页 java身份证号校验 工具类

工具类

#工具类| 来源: 网络整理| 查看: 265

身份证工具-IdcardUtil由来介绍使用身份证工具-IdcardUtil由来

在日常开发中,我们对身份证的验证主要是正则方式(位数,数字范围等),但是中国身份证,尤其18位身份证每一位都有严格规定,并且最后一位为校验位。而我们在实际应用中,针对身份证的验证理应严格至此。于是IdcardUtil应运而生。

IdcardUtil从3.0.4版本起加入Hutool工具家族,请升级至此版本以上可使用。

介绍

IdcardUtil现在支持大陆15位、18位身份证,港澳台10位身份证。

工具中主要的方法包括:

isValidCard 验证身份证是否合法convert15To18 身份证15位转18位getBirthByIdCard 获取生日getAgeByIdCard 获取年龄getYearByIdCard 获取生日年getMonthByIdCard 获取生日月getDayByIdCard 获取生日天getGenderByIdCard 获取性别getProvinceByIdCard 获取省份 使用String ID_18 = "321083197812162119";String ID_15 = "150102880730303";//是否有效boolean valid = IdcardUtil.isValidCard(ID_18);boolean valid15 = IdcardUtil.isValidCard(ID_15);//转换String convert15To18 = IdcardUtil.convert15To18(ID_15);Assert.assertEquals(convert15To18, "150102198807303035");//年龄DateTime date = DateUtil.parse("2017-04-10");int age = IdcardUtil.getAgeByIdCard(ID_18, date);Assert.assertEquals(age, 38);int age2 = IdcardUtil.getAgeByIdCard(ID_15, date);Assert.assertEquals(age2, 28);//生日String birth = IdcardUtil.getBirthByIdCard(ID_18);Assert.assertEquals(birth, "19781216");String birth2 = IdcardUtil.getBirthByIdCard(ID_15);Assert.assertEquals(birth2, "19880730");//省份String province = IdcardUtil.getProvinceByIdCard(ID_18);Assert.assertEquals(province, "江苏");String province2 = IdcardUtil.getProvinceByIdCard(ID_15);Assert.assertEquals(province2, "内蒙古");

声明 以上两个身份证号码为随机编造的,如有雷同,纯属巧合。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3