Skip to content

Latest commit

 

History

History
493 lines (383 loc) · 11.9 KB

README_id.md

File metadata and controls

493 lines (383 loc) · 11.9 KB

npm version Coverage Status JS gzip size Extended JS gzip size Code license

Logo Nusantara Valid

Nusantara Valid

Nusantara valid adalah validator data untuk memvalidasi data sipil Indonesia seperti NIK (Nomor Induk Kewarganegaraan), NIP (Nomor Induk Pegawai Negeri Sipil), dan lain-lain.

Read in English

Daftar isi

Apa yang dapat divalidasi?

  • Nomor ATM (Nomor Rekening)
  • Nomor Seluler
  • Nomor Kartu Kredit
  • E-Mail
  • NIK (Nomor Induk Kependudukan)
  • NIP (Nomor Induk Pegawai Negeri Sipil)
  • NISN (Nomor Induk Siswa Nasional)
  • NPWP (Nomor Pokok Wajib Pajak)
  • TNKB (Tanda Nomor Kendaraan Bermotor)
  • Nomor Telepon
  • Kode Pos

Cara memulai

Ada beberapa cara untuk meng-import paket

Isi paket

Paket berisi beberapa format untuk mendukung beberapa proses.

  • /cjs/nusantara-valid.js - Modul CommonJS.
  • /esm/nusantara-valid.js - Modul ES.
  • /umd/nusantara-valid.js - Modul UMD. Dapat digunagan di browser menggunakan tag script

Kami menyediakan Javascript yang sudah di-compile (nusantara-valid.js), serta versi mini (nusantara-valid.min.js) disetiap jenis modul. Versi Extended (nusantara-valid.extended.js and versi mini nusantara-valid.extended.min.js) berisi tambahan PROVINCE_DATA seperti kabupaten dan kecamatan juga beberapa tambahan API.

Struktur folder

nusantara-valid/
└── dist/
    ├── cjs/
    │   ├── nusantara-valid.extended.js
    │   ├── nusantara-valid.extended.js.map
    │   ├── nusantara-valid.extended.min.js
    │   ├── nusantara-valid.extended.min.js.map
    │   ├── nusantara-valid.js
    │   ├── nusantara-valid.js.map
    │   ├── nusantara-valid.min.js
    │   └── nusantara-valid.min.js.map
    ├── esm/
    │   ├── nusantara-valid.extended.js
    │   ├── nusantara-valid.extended.js.map
    │   ├── nusantara-valid.extended.min.js
    │   ├── nusantara-valid.extended.min.js.map
    │   ├── nusantara-valid.js
    │   ├── nusantara-valid.js.map
    │   ├── nusantara-valid.min.js
    │   └── nusantara-valid.min.js.map
    └── umd/
        ├── nusantara-valid.extended.js
        ├── nusantara-valid.extended.js.map
        ├── nusantara-valid.extended.min.js
        ├── nusantara-valid.extended.min.js.map
        ├── nusantara-valid.js
        ├── nusantara-valid.js.map
        ├── nusantara-valid.min.js
        └── nusantara-valid.min.js.map

Penggunaan

Cara modul CommonJS (require())

const NusantaraValid = require('nusantara-valid')

Cara modul ES (import)

import NusantaraValid from './node_modules/nusantara-valid/dist/esm/nusantara-valid.js'

Cara tag script (<script></script>)

Lokal

<script src="../dist/umd/nusantara-valid.min.js"></script>

CDN

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/nusantara-valid.min.js"></script>

API

Nomor ATM (Nomor Rekening)
isValidATMNumber(atm: string);

isValidATMNumberWithComparison(atm: string, bankKey: string);
Result:
isValidATMNumber('87.800.000.00');
// true

isValidATMNumberWithComparison('1230005123000', 'MDRK');
// true
Bank
getDataBank(bankKey: string);

getDataBanks();

Result:

getDataBank('BCAK');
// { key: 'BCAK', name: 'Bank Central Asia' }

getDataBanks();
// [
//     { key: 'BCAK', name: 'Bank Central Asia' },
//     { key: 'BCAS', name: 'Bank Central Asia Syariah' },
//     { key: 'BNIK', name: 'Bank Negara Indonesia' },
//     ...
// ]
Nomor Seluler
isValidCellularNumber(cel: string);

isValidCellularNumberWithComparison(cel: string, providerKey: string);

getDataCellularNumber(cel: string);

formatCellularNumber(cel: string, int:boolean = false)

Result:

isValidCellularNumber('081212341234');
// true

isValidCellularNumberWithComparison('081212341234', 'TELKOMSEL');
// true

getDataCellularNumber('085612341234');
// {
//     "number": "0856-1234-1234",
//     "provider": {
//         "key": "INDOSAT",
//         "name": "Indosat Ooredoo"
//     }
// }

formatCellularNumber('+6281812341234');
// '0818-1234-1234'
formatCellularNumber('085612341234', true);
// '+62856-1234-1234'
Penyedia Layanan Seluler
getDataCellularProvider(key: string);

getDataCellularProviders();

Result:

getDataCellularProvider('TELKOMSEL');
// { "key": "TELKOMSEL", "name": "Telkomsel" }

getDataCellularProviders();
// [
//     { key: 'TELKOMSEL', name: 'Telkomsel' },
//     { key: 'INDOSAT', name: 'Indosat Ooredoo' },
//     { key: 'XL', name: 'XL Axiata' },
//     ...
// ]
Nomor Kartu Kredit
isValidCCNumber(cc: string);

formatCCNumber(cc: string);

Result:

isValidCCNumber('4000123456789010');
// true
isValidCCNumber('5000 1234 5678 9010');
// true

formatCCNumber('4000123456789010');
// '4000 1234 5678 9010'
formatCCNumber('5000 1234 5678 9010');
// '5000 1234 5678 9010'
E-Mail
isValidEmail(email: string);

Result:

isValidEmail('[email protected]');
// true
Nomor Induk Kependudukan (NIK)
isValidNIK(nik: string);

isValidNIKWithComparison(nik: string, comparison: { provinceKy?: string, birthday?: string });

getDataNIK(nik: string);

Result:

isValidNIK('3101011212930001');
// true

isValidNIKWithComparison('3101011212930001', { provinceKey: '31', birthday: '1993-12-12' });
// true

getDataNIK('3101011212930001');
// {
//     nik: '3101011212930001',
//     birthday: 2006-12-20T00:00:00.000Z,
//     sex: 'Male',
//     province: {
//         key: '31',
//         name: 'Jakarta'
//     }
// }
Nomor Induk Pegawai Negeri Sipil (NIP)
isValidNIP(nip: string);

Result:

isValidNIP('198512262000051001');
// true
Nomor Induk Siswa Nasional (NISN)
isValidNISN(nisn: string);

Result:

isValidNISN('0061230001');
// true
Nomor Pokok Wajib Pajak (NPWP)
isValidNPWP(npwp: string);

formatNPWP(npwp: string);

Result:

isValidNPWP('09.123.123.1-123.123');
// true
isValidNPWP('091231231123123');
// true

formatNPWP('091231231123123');
// '09.123.123.1-123.123'
Provinsi
getDataProvince(key: string);

getDataProvinces();

Result:

getDataProvince('34');
// { key: '34', name: 'Yogyakarta' }

getDataProvinces();
// [
//     { bpsCode: '11', name: 'Aceh' },
//     { bpsCode: '12', name: 'Sumatra Utara' },
//     { bpsCode: '13', name: 'Sumatra Barat' },
//     ...
// ]
Tanda Nomor Kendaraan Bermotor (TNKB)
isValidTNKB(tnkb: string);

getDataTNKB(tnkb: string);

Result:

isValidTNKB('AB1234XYZ');
// true

getDataTNKB('AB1234XYZ');
// {
//     areaCode: 'AB',
//     index: 1234,
//     detailedAreaCode: 'XYZ',
//     province: {
//         key: '34',
//         name: 'Yogyakarta'
//     }
// }
Nomor Telepon
isValidTelephoneNumber(tel: string);

getDataTelephoneNumber(cel: string);

formatTelephoneNumber(tel: string, int:boolean = false)

Result:

isValidTelephoneNumber('0274123123');
// true

getDataTelephoneNumber('0274123123');
// {
//     "number": "0274-123123",
//     "origin": {
//         "key": "34",
//         "name": "Yogyakarta"
//     }
// }

formatTelephoneNumber('0274123123');
// '0274-123123'
formatTelephoneNumber('0274123123', true);
// '+62274-123123'
Kode Pos
isValidZIP(zip: string | number);

isValidZIPWithComparison(zip: string | number, comparison: { provinceKy?: string });

Result:

isValidZIP('55264');
// true
isValidZIP(55264);
// true

isValidZIPWithComparison('55264', { provinceKey: '34' });
// true
isValidZIPWithComparison(55264, { provinceKey: '34' });
// true

API (Versi Extended)

Provinsi
getDataRegenciesInProvince(provinceBPSCode: string);

getDataDistrictsInRegency(regencyBPSCode: string);

Result:

getDataRegenciesInProvince('31'); // Regencies and City (Kabupaten dan Kota) in Jakarta
// [
//   { bpsCode: '31.01', name: 'Kepulauan Seribu' },
//   { bpsCode: '31.71', name: 'Jakarta Pusat' },
//   { bpsCode: '31.72', name: 'Jakarta Utara' },
//   ...
// ]

getDataDistrictsInRegency('31.71'); // Districts (Kecamatan) in Jakarta Pusat
// [
//   { name: 'Gambir', bpsCode: '31.71.01' },
//   { name: 'Sawah Besar', bpsCode: '31.71.02' },
//   { name: 'Kemayoran', bpsCode: '31.71.03' },
//   ...
// ]

Lisensi

Hak cipta (c) 2020 - Fajar Setya Budi.

Nusantara Valid dirilis menggunakan lisensi MIT.