fix(IdCardUtil): Fix isValidTWCard string index out of range

This commit is contained in:
fuffcp123 2021-07-10 15:13:43 +08:00
parent 0e15b89cfa
commit 09355e6cc5
2 changed files with 15 additions and 2 deletions

View File

@ -343,7 +343,7 @@ public class IdcardUtil {
* @return 验证码是否符合
*/
public static boolean isValidTWCard(String idcard) {
if (StrUtil.isEmpty(idcard)) {
if (StrUtil.isEmpty(idcard) || idcard.length() != 10) {
return false;
}
String start = idcard.substring(0, 1);

View File

@ -7,7 +7,7 @@ import org.junit.Test;
/**
* 身份证单元测试
*
*
* @author Looly
*
*/
@ -111,4 +111,17 @@ public class IdcardUtilTest {
boolean flag=IdcardUtil.isValidHKCard(hkCard);
Assert.assertTrue(flag);
}
@Test
public void isValidTWCardIdTest() {
String twCard = "B221690311";
boolean flag = IdcardUtil.isValidTWCard(twCard);
Assert.assertTrue(flag);
String errTwCard1 = "M517086311";
flag = IdcardUtil.isValidTWCard(errTwCard1);
Assert.assertFalse(flag);
String errTwCard2 = "B2216903112";
flag = IdcardUtil.isValidTWCard(errTwCard2);
Assert.assertFalse(flag);
}
}