diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/data/CIN10.java b/hutool-core/src/main/java/org/dromara/hutool/core/data/CIN10.java index 6e6dce210..ff0621d5c 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/data/CIN10.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/data/CIN10.java @@ -89,9 +89,13 @@ public class CIN10 { * @param code 身份证号码 * @throws IllegalArgumentException 身份证格式不支持 */ - public CIN10(final String code) throws IllegalArgumentException { + public CIN10(String code) throws IllegalArgumentException { this.code = code; if (StrUtil.isNotBlank(code)) { + // issue#IBP6T1 中文空格替换为英文 + code = StrUtil.replace(code, "(", "("); + code = StrUtil.replace(code, ")", ")"); + if (ReUtil.isMatch(PATTERN_TW, code)) { // 台湾 this.province = "台湾"; final char char2 = code.charAt(1); diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/data/IssueIBP6T1Test.java b/hutool-core/src/test/java/org/dromara/hutool/core/data/IssueIBP6T1Test.java new file mode 100644 index 000000000..5deb8fa0a --- /dev/null +++ b/hutool-core/src/test/java/org/dromara/hutool/core/data/IssueIBP6T1Test.java @@ -0,0 +1,12 @@ +package org.dromara.hutool.core.data; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class IssueIBP6T1Test { + @Test + void isValidCard10Test(){ + Assertions.assertTrue(IdcardUtil.isValidCard10("1608214(1)")); + Assertions.assertTrue(IdcardUtil.isValidCard10("1608214(1)")); + } +}