(Translated by https://www.hiragana.jp/)
GitHub - jukbot/thai-citizen-id-validator: πŸ‡ΉπŸ‡­ Thai Citizen ID validator with zero dependencies
Skip to content

jukbot/thai-citizen-id-validator

Repository files navigation

Thai Citizen ID Validator

thai-citizen-id-validator

Codacy Badge NPM Download javascript style guide npm JSR

A simpler way to validate Thai Citizen Card ID. πŸ‡ΉπŸ‡­

Minimum Node.js Version ⚠️

This package requires Node.js version 16 or later.

Future Roadmap

  • Go Language Implementation Example
  • .NET Language Implementation Example
  • Thai Passport Number Validation

Read the article

Building Thai Citizen ID Input Validation with WCAG Standard

Installation

Works with npm, jsr, yarn, pnpm, bun or deno

$ npm install thai-id-validator
# or
$ yarn add thai-id-validator
# or
$ pnpm add thai-id-validator
# or
$ bun add thai-id-validator
# or
$ pnpm dlx jsr add @jukbot/thai-id-validator
# or
$ deno add jsr:@luca/flag

Data Type

Input Output
String boolean

Usage

Javascript / Typescript

In Javascript, Typescript file, you can use import, export modules

import isValidThaiID from 'thai-id-validator';

let result = isValidThaiID(β€˜1101700207030’);

console.log(result);
// true

Test

To run all test cases run the following command

bun 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

MIt

Code with love πŸ¦‰