身份证工具类,增加对 港澳台 在大陆身份证 的 文档说明; 大陆用户 对 810000、820000、830000 开通的18位身份证 往往比较陌生。

This commit is contained in:
duandazhi
2021-11-25 16:59:39 +08:00
parent 99763a32b3
commit d5eabab63e
2 changed files with 30 additions and 0 deletions

View File

@@ -202,6 +202,24 @@ public class IdcardUtil {
* <li>通过上面得知如果余数是2就会在身份证的第18位数字上出现罗马数字的。如果余数是10身份证的最后一位号码就是2</li>
* </ol>
*
<p>
* <ol>
* <li>香港人在大陆的身份证【810000】开头同样可以直接获取到 性别、出生日期</li>
* <li>81000019980902013X: 文绎循 男 1998-09-02</li>
* <li>810000201011210153: 辛烨 男 2010-11-21</li>
* </ol>
* <ol>
* <li>澳门人在大陆的身份证【820000】开头同样可以直接获取到 性别、出生日期</li>
* <li>820000200009100032: 黄敬杰 男 2000-09-10</li>
* </ol>
* <ol>
* <li>台湾人在大陆的身份证【830000】开头同样可以直接获取到 性别、出生日期</li>
* <li>830000200209060065: 王宜妃 女 2002-09-06</li>
* <li>830000194609150010: 苏建文 男 1946-09-14</li>
* <li>83000019810715006X: 刁婉琇 女 1981-07-15</li>
* </ol>
* </p>
*
* @param idcard 待验证的身份证
* @return 是否有效的18位身份证忽略x的大小写
*/

View File

@@ -103,6 +103,18 @@ public class IdcardUtilTest {
Assert.assertTrue(isValidCard18);
isValidCard18 = IdcardUtil.isValidCard18("33010219200403064X");
Assert.assertTrue(isValidCard18);
// 香港人在大陆身份证
isValidCard18 = IdcardUtil.isValidCard18("81000019980902013X");
Assert.assertTrue(isValidCard18);
// 澳门人在大陆身份证
isValidCard18 = IdcardUtil.isValidCard18("820000200009100032");
Assert.assertTrue(isValidCard18);
// 台湾人在大陆身份证
isValidCard18 = IdcardUtil.isValidCard18("830000200209060065");
Assert.assertTrue(isValidCard18);
}
@Test