cin-checksum

Citizen identification number(GB 11643-1999) Checksum

Usage no npm install needed!

<script type="module">
  import cinChecksum from 'https://cdn.skypack.dev/cin-checksum';
</script>

README

cin-checksum

Citizen identification number(GB 11643-1999) Checksum

Install

yarn add cin-checksum

Files

dist/
├─ index.js         ( UMD )
├─ index.min.js     ( UMD, compressed )
├─ index.mjs        ( ES Module )
├─ index.min.mjs    ( ES Module, compressed )
├─ index.cjs        ( CommonJS )
└─ index.min.cjs    ( CommonJS, compressed )

Usage

browser

<!-- ES Module -->
<script type="module">
  import {generate, validate} from 'https://unpkg.com/cin-checksum?module'
</script>

<!-- UMD -->
<script src="https://unpkg.com/cin-checksum" nomodule></script>

UMD build exports a global object CIN.checksum contains two methods CIN.checksum.generate and CIN.checksum.validate

node

// ES Module
import {generate, validate} from 'cin-checksum'

API

generate(parts)

generate checksum by parts

generate('11010519491231002')
// -> 'X'

generate('44052418800101001')
// -> '4'

parts

first 17 digits to generate checksum

validate(parts, checkBit?)

validate('11010519491231002X')
// -> true

parts

  • first 17/18 digits to validate
  • type: string
validate('11010519491231002X')
// -> true

validate('11010519491231002', 'x')
// -> true

checkBit

  • checkBit to validate
  • type: string
  • default: parts[17]
validate('11010519491231002X')
// -> true

validate('11010519491231002X', '0')
// -> false