/thai-citizen-id-validator

🇹🇭 Thai Citizen ID validator with zero dependencies

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Thai Citizen ID Validator

Codacy Badge Codacy Badge NPM Download javascript style guide npm

A simpler way to validate Thai Citizen Card ID. 🇹🇭

Further Plans

  • Go Language Implementation Example
  • Thai Passport Number Validation

Read the article

Building Thai Citizen ID Input Validation with WCAG Standard

Installation

$ npm install thai-id-validator
# or
$ yarn add thai-id-validator
# or
$ pnpm add thai-id-validator
# or
$ bun add thai-id-validator

Data Type

Input Output
String boolean

Usage

Javascipt ES5

Just import script with commonjs

var validateThaiID = require('thai-id-validator') // for ES5

var result = validateThaiID(‘1101700207030’);

console.log(result);
// return true

Javascript ES6 Module

In Javascript file, you can use import, export modules

'use strict';
import validateThaiID from 'thai-id-validator';

let result = validateThaiID(‘1101700207030’);

console.log(result);
// return true

Test

To run all test cases run the following command

npm run test

You can edit validator.test.js too add your custom test case.

Test Cases Result
'1112034563562'
'0113200420331'
'1101700230705'
'110170023073'
'11017002070d3'
'rytege54fsfsf'
0
'-'
''
null
undefined
'blablabla'

(Tested with Bun)

Test Result Screenshot

How to upload test coverage report to codacy

export CODACY_PROJECT_TOKEN=xxxxxxxxx

bun run coverage

bash <(curl -Ls https://coverage.codacy.com/get.sh)

Compatibility

Tested on all modern browsers ✅

Issues

If you found any 🐞 or feedback, please report the issue here

Contribution

👩🏻‍💻 Contribute are always welcome.

License

Apache2.0

Code with love 🦉