NIK
- 32Provinsi
- Jawa Barat
- 73Kabupaten atau kota
- Kota Bandung
- 27Kecamatan
- Gedebage
- 570590Tanggal lahir dan jenis kelamin
- 17 Mei 1990, perempuan (tanggal + 40)
- 1349Nomor urut
Strukturnya benar
Fungsi
Section titled “Fungsi”| Go | TypeScript | Hasil |
|---|---|---|
nik.Valid(s) |
nik.isValid(s) |
Apakah s NIK yang strukturnya benar |
nik.Parse(s) |
nik.parse(s) |
Field di bawah |
nik.ParseAt(s, year) |
nik.parseAt(s, year) |
Sama, dengan abad lahir dihitung relatif ke year |
nik.Format(s) |
nik.format(s) |
16 digit tanpa pemisah |
nik.Mask(s) |
nik.mask(s) |
Hanya 4 digit terakhir terlihat |
Pemisah yang diterima: spasi, ., dan -.
Field hasil parse
Section titled “Field hasil parse”| Field (JSON) | Contoh | Catatan |
|---|---|---|
nik |
16 digit | Tanpa pemisah |
provinceCode |
75 |
|
regencyCode |
75.02 |
|
districtCode |
75.02.01 |
Dicek ke data wilayah, termasuk kode historis |
birthDate |
1959-06-07 |
YYYY-MM-DD. Tahun dua digit dianggap tahun terakhir yang belum melewati tahun ini (atau year di ParseAt) |
sex |
male |
male atau female |
serial |
9583 |
Tidak pernah 0000 |
Parse tidak memuat nama wilayah. Untuk mengubah kode kecamatan jadi nama, pakai region.FromNIK / region.fromNik.
length, charset, region (kode kecamatan tidak ada), date (bukan tanggal yang ada), serial.
Contoh
Section titled “Contoh”package main
import ( "errors" "fmt"
"github.com/haikalmumtaz233/nusaindex/nik")
func main() { fmt.Println(nik.Valid("7502010706599583"))
parsed, err := nik.Parse("7502010706599583") if err == nil { fmt.Println(parsed.DistrictCode, parsed.BirthDate, parsed.Sex, parsed.Serial) }
older, err := nik.ParseAt("3315101003154137", 2010) if err == nil { fmt.Println(older.BirthDate) }
formatted, err := nik.Format("7502 0107 0659 9583") if err == nil { fmt.Println(formatted) }
fmt.Println(nik.Mask("7502010706599583"))
_, err = nik.Parse("7502013206599583") fmt.Println(errors.Is(err, nik.ErrDate))}import * as nik from "nusaindex/nik";
console.log(nik.isValid("7502010706599583"));
const parsed = nik.parse("7502010706599583");if (parsed.ok) { const { districtCode, birthDate, sex, serial } = parsed.value; console.log(districtCode, birthDate, sex, serial);}
const older = nik.parseAt("3315101003154137", 2010);if (older.ok) { console.log(older.value.birthDate);}
const formatted = nik.format("7502 0107 0659 9583");if (formatted.ok) { console.log(formatted.value);}
console.log(nik.mask("7502010706599583"));
const invalid = nik.parse("7502013206599583");console.log(!invalid.ok && invalid.error.code === "date");true75.02.01 1959-06-07 male 95831915-03-107502010706599583************9583true© 2026 Haikal Mumtaz