校验身份证号码是否正确,利用身份证最后一位校验码校验。
package cn.myapps.runtime.rest.core.util;
import org.apache.commons.lang3.StringUtils;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
/**
* <p>身份证校验</p>
* <p>
* 2、地址码(前六位数)
* 表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
* <p>
* 3、出生日期码(第七位至十四位)
* <p>
* 4、顺序码(第十五位至十七位)
* 表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,
* 顺序码的奇数分配给男性,偶数分配给女性。
* <p>
* 5、校验码(第十八位数)
* 校验身份证是否号码是否正确
*
* @author Zemin.Y
*/
public class IdentityCardUtil {
/**
* 加权因子 Wi=2^(n【n 身份证号码有左到右 数1,2,3】-1) mod 11
* Ai身份证号码: Ai,A2,A3,.