#HarmonyOS NEXT体验官#IDCard三方库使用 原创

不爱吃糖的程序媛
发布于 2024-8-1 18:01
浏览
0收藏

IDCard

居民身份证、港澳台居民居住证、外国人永久居留身份证解析工具

一、下载安装

ohpm install @nutpi/idcard

OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包

二、使用

import { parserChina, parserInternational } from '@nutpi/idcard/src/main/module/method';

代码示例:

parserChina('11010519491231002X')

返回:

    {
        "type":"居民身份证",
        "country":"中国",
        "sign":"北京市朝阳区",
        "birthday":"1949-12-31",
        "sex":"女",
        "isValid":false
    }

代码示例:

parserInternational('932682198501010017')

返回

    {
        "type":"外国人永久居留身份证",
        "country":"沙特阿拉伯",
        "sign":"江苏省",
        "birthday":"1985-01-01",
        "sex":"男",
        "isValid":true
    }

完整示例:

import { parserChina, parserInternational } from '@nutpi/idcard/src/main/module/method';

export class IdCardInfo {
  type: string = ""
  country: string = ""
  sign: string = ""
  birthday: string = ""
  sex: string = ""
  isValid: string = ""
}

@Entry
@Component
struct Index {
  @State IdCardInfo: IdCardInfo = new IdCardInfo();
  aboutToAppear(): void {
    this.IdCardInfo = JSON.parse(JSON.stringify(parserChina('11010519491231002X')))

  }

  build() {
    Column() {
      Text(JSON.stringify(parserInternational('932682198501010017')))
        .fontSize(20)

      Text(this.IdCardInfo.type)
        .fontSize(30)
      Text(this.IdCardInfo.country)
        .fontSize(30)
      Text(this.IdCardInfo.sign)
        .fontSize(30)
      Text(this.IdCardInfo.birthday)
        .fontSize(30)
      Text(this.IdCardInfo.sex)
        .fontSize(30)

    }
    .height('100%')
    .width('100%')
  }
}

三、背景

居民身份证是国家法定的证明公民个人身份的证件。根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由17位数字本体码和1位校验码组成。排列顺序从左至右依次为:6位数字地址码,8位数字出生日期码,3位数字顺序码和1位数字校验码。

第1-6位为地址码,表示编码对象常住户口所在县(市、镇、区)的行政区划代码。

第7-14位为出生日期码,表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。

第15-17位为顺序码,是同一地址码所标示的区域范围内,对同年同月同日生的居民编订的顺序码。其中第15、16位是县、区级政府所辖派出所的分配码,每个派出所分配码为10个连续号码。第17位表示性别,男性为单数,女性为双数,如遇同年同月同日有两人以上时顺延第2、第3、第4、第5个分配码;

第18位为校验码,根据前面17位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来。

通过身份证号码可以查询身份证发证地,出生日期,性别,有效性等信息,身份证15位自动转18位升位转换。第一代身份证为单页卡式,15位编码,从1984年起开始启用,至2013年1月1日已停用。2004年1月1日,第二代居民身份证开始换发18位身份证,身份证件正面有签发机关和有效期限,印有国徽图案、证件名称、写意长城图案及彩色花纹;证件背面设计有姓名、性别、民族、出生日期、常住户口所在地住址、公民身份号码和本人相片7个登记项目。

四、功能支持

  • 居民身份证

  • 港澳台居住证

  • 外国人永久居留身份证

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2024-8-1 23:20:34修改
收藏
回复
举报
回复
    相关推荐