Lewati ke konten

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.

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 (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.

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))
}
Keluaran
true
+628595257171 mobile XL XLSmart
+62213456789 fixed 021
+628595257171
https://wa.me/628595257171
+62*******171
true