fix getGenderByIdCard 潜在的bug, 如:idcard 是16位,charAt(16)就出抛除 IndexOutOfBoundsException 的异常

This commit is contained in:
dazer007 2023-06-02 15:26:08 +08:00
parent 0ad26a61ed
commit c027ffe922

View File

@ -552,7 +552,7 @@ public class IdcardUtil {
public static int getGenderByIdCard(String idcard) {
Assert.notBlank(idcard);
final int len = idcard.length();
if (len < CHINA_ID_MIN_LENGTH) {
if (!(len == CHINA_ID_MIN_LENGTH || len == CHINA_ID_MAX_LENGTH)) {
throw new IllegalArgumentException("ID Card length must be 15 or 18");
}