isValidCard18: 增加null的判断

This commit is contained in:
duandazhi 2022-10-21 13:42:58 +08:00
parent c56f36ac4f
commit 9f383caf46
2 changed files with 9 additions and 2 deletions

View File

@ -274,7 +274,7 @@ public class IdcardUtil {
* @since 5.5.7
*/
public static boolean isValidCard18(final String idcard, final boolean ignoreCase) {
if (CHINA_ID_MAX_LENGTH != idcard.length()) {
if (StrUtil.isBlank(idcard) || CHINA_ID_MAX_LENGTH != idcard.length()) {
return false;
}
@ -307,7 +307,7 @@ public class IdcardUtil {
* @return 是否合法
*/
public static boolean isValidCard15(final String idcard) {
if (CHINA_ID_MIN_LENGTH != idcard.length()) {
if (StrUtil.isBlank(idcard) || CHINA_ID_MIN_LENGTH != idcard.length()) {
return false;
}
if (ReUtil.isMatch(PatternPool.NUMBERS, idcard)) {
@ -410,6 +410,9 @@ public class IdcardUtil {
* @return 验证码是否符合
*/
public static boolean isValidHKCard(final String idcard) {
if (StrUtil.isBlank(idcard)) {
return false;
}
String card = idcard.replaceAll("[()]", "");
int sum;
if (card.length() == 9) {

View File

@ -127,6 +127,10 @@ public class IdcardUtilTest {
// 台湾人在大陆身份证
isValidCard18 = IdcardUtil.isValidCard18("830000200209060065");
Assert.assertTrue(isValidCard18);
// 身份证允许调用为空null
isValidCard18 = !IdcardUtil.isValidCard18(null);
Assert.assertTrue(isValidCard18);
}
@Test