Nomor telepon
- +62Kode negara
- Indonesia
- 859Prefiks operator
- XL, XLSmart
- 5257171Nomor pelanggan
Strukturnya benar
Bisa menerima 08…, 628…, +62 8…, dan telepon tetap dengan kode area seperti (021) 3456 789. Prefix seluler dan kode area mengikuti Permenkominfo 14/2018.
Fungsi
Section titled “Fungsi”| Go | TypeScript | Hasil |
|---|---|---|
phone.Valid(s) |
phone.isValid(s) |
Apakah s nomor Indonesia yang strukturnya benar |
phone.Parse(s) |
phone.parse(s) |
Field di bawah |
phone.Format(s) |
phone.format(s) |
E.164, misalnya +628595257171 |
phone.WhatsAppLink(s) |
phone.whatsappLink(s) |
https://wa.me/628595257171 |
phone.Mask(s) |
phone.mask(s) |
+62 dan 3 digit terakhir terlihat |
Pemisah yang diterima: spasi, -, ., (, dan ).
Field hasil parse
Section titled “Field hasil parse”| Field (JSON) | Contoh | Catatan |
|---|---|---|
e164 |
+628595257171 |
|
national |
08595257171 |
|
type |
mobile |
mobile atau fixed |
prefix |
0859 |
Hanya seluler |
brand |
XL |
Hanya seluler: Telkomsel, IM3, Tri, XL, AXIS, atau Smartfren |
operator |
XLSmart |
Hanya seluler: Telkomsel, Indosat Ooredoo Hutchison, atau XLSmart |
areaCode |
021 |
Khusus telepon tetap, wilayahnya ada di region.ByAreaCode |
Nomor seluler punya 9 sampai 12 digit setelah 0 di depan. Telepon tetap punya 8 sampai 11 digit termasuk kode area. Prefix yang sudah dicabut atau tidak pernah dialokasikan, seperti 0827, 0828, dan 0879, gagal dengan prefix.
length, charset, country (kode negara selain +62), prefix.
Contoh
Section titled “Contoh”package main
import ( "errors" "fmt"
"github.com/haikalmumtaz233/nusaindex/phone")
func main() { fmt.Println(phone.Valid("0859-5257-171"))
mobile, err := phone.Parse("0859-5257-171") if err == nil { fmt.Println(mobile.E164, mobile.Type, mobile.Brand, mobile.Operator) }
fixed, err := phone.Parse("(021) 3456 789") if err == nil { fmt.Println(fixed.E164, fixed.Type, fixed.AreaCode) }
formatted, err := phone.Format("+62 859 5257 171") if err == nil { fmt.Println(formatted) }
link, err := phone.WhatsAppLink("0859-5257-171") if err == nil { fmt.Println(link) }
fmt.Println(phone.Mask("0859-5257-171"))
_, err = phone.Parse("+1 202 555 0100") fmt.Println(errors.Is(err, phone.ErrCountry))}import * as phone from "nusaindex/phone";
console.log(phone.isValid("0859-5257-171"));
const mobile = phone.parse("0859-5257-171");if (mobile.ok) { const { e164, type, brand, operator } = mobile.value; console.log(e164, type, brand, operator);}
const fixed = phone.parse("(021) 3456 789");if (fixed.ok) { console.log(fixed.value.e164, fixed.value.type, fixed.value.areaCode);}
const formatted = phone.format("+62 859 5257 171");if (formatted.ok) { console.log(formatted.value);}
const link = phone.whatsappLink("0859-5257-171");if (link.ok) { console.log(link.value);}
console.log(phone.mask("0859-5257-171"));
const foreign = phone.parse("+1 202 555 0100");console.log(!foreign.ok && foreign.error.code === "country");true+628595257171 mobile XL XLSmart+62213456789 fixed 021+628595257171https://wa.me/628595257171+62*******171true© 2026 Haikal Mumtaz