Generator & Validator Nomor Telepon - Uji Nomor untuk Setiap Negara

Hasilkan nomor telepon uji yang valid untuk AS, Inggris, Meksiko, India. Buat nomor ponsel atau telepon tetap dengan pemformatan yang tepat. Alat gratis untuk pengembang menguji logika validasi.

Generator & Validator Nomor Telepon

📚

Dokumentasi

Mengapa Generasi Nomor Telepon Penting

Menguji logika validasi nomor telepon bisa sangat membingungkan. Anda membutuhkan nomor yang realistis yang mengikuti pola spesifik negara, tetapi membuat data uji secara manual membosankan dan rawan kesalahan. Alat ini memecahkan masalah tersebut dengan menghasilkan nomor telepon yang valid secara struktural untuk berbagai negara—lengkap dengan kode area, awalan seluler, dan format yang tepat.

Baik Anda sedang membangun formulir kontak, menguji API SMS, atau mengisi basis data pengembangan, Anda akan mendapatkan nomor yang sesuai dengan format dunia nyata. Alat ini menangani kompleksitas standar internasional (seperti E.164) sambil menjaga antarmuka tetap sederhana: pilih negara, pilih seluler atau telepon kabel, dan hasilkan.

Apa yang membedakan ini dari generator digit acak? Ini menghormati aturan. Nomor seluler Meksiko mendapatkan kode area yang tepat (55 untuk Mexico City, 33 untuk Guadalajara). Nomor AS menghindari pola tidak valid seperti memulai kode area dengan 0 atau 1. Nomor seluler Inggris dimulai dengan 7. Detail-detail ini penting ketika Anda menguji logika validasi yang akan dihadapi pengguna di produksi.

Cara Kerja Generator Nomor Telepon

Di balik antarmuka sederhana, generator menerapkan aturan spesifik negara untuk membuat nomor telepon yang valid:

  1. Pilihan Negara & Wilayah: Pilih negara dan wilayah target Anda. Ini menentukan kode area—misalnya, memilih "CDMX" di Meksiko secara otomatis menggunakan kode area 55.

  2. Logika Jenis Nomor: Nomor seluler dan telepon kabel mengikuti pola yang berbeda. Di Inggris, seluler dimulai dengan 7, sementara telepon kabel menggunakan kode geografis seperti 20 untuk London. Alat menerapkan awalan yang benar berdasarkan pilihan Anda.

  3. Pembangkitan Digit Acak: Untuk nomor pelanggan, alat membangkitkan digit acak dalam rentang yang valid. Tidak semua digit berlaku di mana-mana—kode area AS tidak dapat dimulai dengan 0 atau 1, dan kode tertentu dicadangkan untuk layanan.

  4. Penerapan Format: Nomor diformat sesuai standar E.164 (internasional) atau konvensi lokal. Nomor Meksiko muncul sebagai "+52 55 1234 5678" secara internasional atau "55 1234 5678" secara lokal.

  5. Validasi: Setiap nomor yang dibuat diperiksa terhadap pola regex spesifik negara. Ini menangkap kesalahan struktural sebelum menampilkan nomor.

Apa yang tidak Anda lihat: Alat sengaja menghindari nomor darurat (seperti 911), rentang uji, dan kode layanan khusus. Ini membuat keluaran lebih aman untuk lingkungan pengujian di mana Anda tidak ingin secara tidak sengaja memicu layanan nyata.

Rumus dan Algoritma

Meskipun pembangkitan nomor telepon mungkin terlihat seperti proses acak sederhana, mengimplementasikannya dengan benar memerlukan pemahaman tentang kendala dan pola matematis yang membuat nomor telepon valid di berbagai wilayah.

Algoritma Pembangkitan Nomor Acak

Algoritma dasar untuk membangkitkan nomor telepon yang valid mengikuti rumus berikut:

N=C+A+P+SN = C + A + P + S

Di mana:

  • NN adalah nomor telepon lengkap
  • CC adalah kode negara (opsional untuk format lokal)
  • AA adalah kode area/wilayah
  • PP adalah awalan (yang mungkin memiliki batasan berdasarkan jenis nomor)
  • SS adalah nomor pelanggan (digit acak)

Algoritma Validasi

Validasi nomor telepon dapat dinyatakan sebagai operasi pencocokan pola ekspresi reguler, yang dapat direpresentasikan secara matematis sebagai:

1 & \text{jika } N \text{ cocok dengan } R_c \\ 0 & \text{sebaliknya} \end{cases}$$ Di mana: - $V(N)$ adalah hasil validasi (1 untuk valid, 0 untuk tidak valid) - $N$ adalah nomor telepon yang divalidasi - $R_c$ adalah pola ekspresi reguler untuk negara $c$ ### Probabilitas dan Distribusi Saat membangkitkan nomor telepon acak, kita harus mempertimbangkan rentang digit valid untuk setiap posisi. Misalnya, di AS, kode area tidak boleh dimulai dengan 0 atau 1, dan tidak boleh menjadi kode layanan seperti 911. Jumlah nomor telepon yang mungkin valid untuk suatu negara dapat dihitung sebagai: $$P_c = \prod_{i=1}^{n} d_i$$ Di mana: - $P_c$ adalah total nomor telepon yang mungkin valid untuk negara $c$ - $n$ adalah jumlah posisi dalam nomor telepon (tidak termasuk kode negara) - $d_i$ adalah jumlah digit valid untuk posisi $i$ Misalnya, untuk nomor telepon AS (tidak termasuk kode negara): - Digit pertama kode area: 8 kemungkinan (2-9) - Digit kedua dan ketiga kode area: 10 kemungkinan masing-masing (0-9) - Tujuh digit pelanggan: 10 kemungkinan masing-masing (0-9) $$P_{US} = 8 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 = 8 \times 10^9 = 8.000.000.000$$ Ini berarti ada 8 miliar nomor telepon AS yang mungkin valid, meskipun banyak yang dicadangkan atau tidak ditugaskan. ## Fitur Utama ### Dukungan Multi-Negara dengan Akurasi Regional Hasilkan nomor telepon untuk empat pasar utama: - **Meksiko (+52)**: Kode regional untuk CDMX (55), Guadalajara (33), Monterrey (81), Cancun (998), dan lainnya - **Amerika Serikat (+1)**: Format 10 digit standar dengan kode area yang valid - **Inggris Raya (+44)**: Kode geografis untuk London (20), Manchester (161), dan seluler (7xxx) - **India (+91)**: Nomor seluler 10 digit dengan awalan operator yang tepat (6/7/8/9) Setiap wilayah menggunakan kode area otentik. Saat Anda memilih "Mexico City", Anda mendapatkan 55 sebagai kode area—kode yang sama dengan nomor Meksiko asli. Akurasi ini penting saat menguji aplikasi yang mengurai atau memvalidasi nomor. ### Beralih antara Format Internasional dan Lokal Beralih di antara dua representasi standar: - **Internasional (E.164)**: +52 55 1234 5678 - Digunakan untuk API, basis data, dan sistem global - **Lokal**: 55 1234 5678 - Cara pengguna melihat nomor di negara mereka sendiri **Mengapa ini penting**: Aplikasi Anda mungkin menerima nomor dalam salah satu format. Pengguna di Meksiko mengetik format lokal, tetapi pengguna internasional menyertakan kode negara. Pengujian keduanya memastikan validasi Anda menangani input dunia nyata. ### Pembedaan Seluler dan Telepon Kabel Hasilkan nomor seluler atau telepon kabel dengan awalan yang sesuai: - **Seluler**: Nomor Inggris dimulai dengan 7, mengikuti peraturan Ofcom - **Telepon Kabel**: Kode geografis terkait dengan kota tertentu (20 untuk London, 11 untuk Delhi) Perbedaannya bersifat teknis, bukan sekadar kosmetik. Nomor seluler dan telepon kabel mengikuti rencana penomoran yang berbeda dalam satu negara. Logika validasi Anda perlu mengenali keduanya. ### Salin Satu Klik Klik tombol salin untuk segera menambahkan nomor yang dihasilkan ke papan klip Anda. Tidak perlu seleksi atau sorotan manual—cukup klik dan tempel ke dalam skrip uji, sisipan SQL, atau bidang formulir. ## Standar Format Nomor Telepon ### Memahami E.164: Standar Global Standar [E.164](https://www.itu.int/rec/T-REC-E.164/en), yang dikelola oleh International Telecommunication Union, mendefinisikan cara kerja nomor telepon secara global. Ditetapkan pada tahun 1984 dan masih digunakan hingga saat ini, standar ini menetapkan aturan mendasar: - **Maksimal 15 digit** total (termasuk kode negara) - **Awalan tanda plus** (+) untuk format internasional - **Tanpa karakter khusus** dalam nomor sebenarnya (spasi dan tanda hubung hanya untuk tampilan) Struktur format: +[kode negara] [nomor nasional] Mengapa ini penting bagi pengembang: Saat menyimpan nomor telepon dalam basis data, gunakan format E.164. Format ini tidak ambigu, dapat diuraikan, dan kompatibel dengan API telekomunikasi apa pun. Nomor seperti "+15551234567" dapat dipahami secara universal, sedangkan "(555) 123-4567" membutuhkan konteks untuk mengetahui bahwa itu adalah nomor AS. <svg width="600" height="200" xmlns="http://www.w3.org/2000/svg"> <title>Struktur Format Nomor Telepon</title> <desc>Diagram yang menunjukkan komponen format nomor telepon internasional</desc> <!-- Background --> <rect x="10" y="50" width="580" height="80" fill="#f8fafc" stroke="#64748b" strokeWidth="2" rx="5" /> <!-- Country Code Section --> <rect x="20" y="60" width="80" height="60" fill="#dbeafe" stroke="#3b82f6" strokeWidth="2" rx="5" /> <text x="60" y="95" fontFamily="Arial" fontSize="14" textAnchor="middle" fill="#1e40af">+52</text> <text x="60" y="115" fontFamily="Arial" fontSize="10" textAnchor="middle" fill="#1e40af">Kode Negara</text> <!-- Area Code Section --> <rect x="110" y="60" width="80" height="60" fill="#e0f2fe" stroke="#0ea5e9" strokeWidth="2" rx="5" /> <text x="150" y="95" fontFamily="Arial" fontSize="14" textAnchor="middle" fill="#0369a1">55</text> <text x="150" y="115" fontFamily="Arial" fontSize="10" textAnchor="middle" fill="#0369a1">Kode Area</text> <!-- First Part Section --> <rect x="200" y="60" width="120" height="60" fill="#f0fdfa" stroke="#14b8a6" strokeWidth="2" rx="5" /> <text x="260" y="95" fontFamily="Arial" fontSize="14" textAnchor="middle" fill="#0f766e">1234</text> <text x="260" y="115" fontFamily="Arial" fontSize="10" textAnchor="middle" fill="#0f766e">Nomor Pelanggan (Bagian 1)</text> <!-- Second Part Section --> <rect x="330" y="60" width="120" height="60" fill="#ecfdf5" stroke="#10b981" strokeWidth="2" rx="5" /> <text x="390" y="95" fontFamily="Arial" fontSize="14" textAnchor="middle" fill="#047857">5678</text> <text x="390" y="115" fontFamily="Arial" fontSize="10" textAnchor="middle" fill="#047857">Nomor Pelanggan (Bagian 2)</text> <!-- Arrows --> <line x1="100" y1="90" x2="110" y2="90" stroke="#64748b" strokeWidth="2" /> <line x1="190" y1="90" x2="200" y2="90" stroke="#64748b" strokeWidth="2" /> <line x1="320" y1="90" x2="330" y2="90" stroke="#64748b" strokeWidth="2" /> <!-- Title --> <text x="300" y="30" fontFamily="Arial" fontSize="16" fontWeight="bold" textAnchor="middle" fill="#334155">Format Nomor Telepon Internasional (Contoh Meksiko)</text> </svg> ### Format Spesifik Negara #### Meksiko (+52) Sistem nomor telepon Meksiko mengikuti pola berikut: - **Nomor Seluler**: Total 10 digit - Format: +52 XX XXXX XXXX - Contoh: +52 55 1234 5678 - Nomor seluler di Meksiko biasanya dimulai dengan kode area seperti 55 (Mexico City), 33 (Guadalajara), 81 (Monterrey) - **Nomor Telepon Kabel**: 8 digit (ditambah kode area 2 digit) - Format: +52 XX XXXX XXXX - Contoh: +52 55 5123 4567 #### Amerika Serikat (+1) - **Seluler dan Telepon Kabel**: Total 10 digit - Format: +1 XXX XXX XXXX - Kode area (3 digit pertama) bervariasi berdasarkan wilayah - Nomor seluler dan telepon kabel mengikuti format yang sama tetapi memiliki awalan berbeda #### Inggris Raya (+44) - **Nomor Seluler**: Biasanya dimulai dengan '7' - Format: +44 7XXX XXXXXX - Contoh: +44 7700 123456 - **Nomor Telepon Kabel**: Bervariasi berdasarkan wilayah - Format: +44 XX XXXX XXXX atau +44 XXX XXX XXXX - Contoh: +44 20 1234 5678 (London) #### India (+91) - **Nomor Seluler**: 10 digit, biasanya dimulai dengan 6, 7, 8, atau 9 - Format: +91 XXXXX XXXXX - Contoh: +91 98765 43210 - **Nomor Telepon Kabel**: Bervariasi berdasarkan wilayah, biasanya 8 digit ditambah kode STD - Format: +91 XX XXXX XXXX - Contoh: +91 11 2345 6789 (Delhi) ## Panduan Cepat: Hasilkan Nomor Uji Pertama Anda ### Generasi Dasar (Kurang dari 10 Detik) 1. **Pilih negara** dari dropdown: AS (+1), Inggris (+44), Meksiko (+52), atau India (+91) 2. **Pilih wilayah** untuk mendapatkan kode area yang benar: - Meksiko: CDMX (55), Guadalajara (33), Monterrey (81) - AS: Bervariasi menurut negara bagian - Inggris: London (20), Manchester (161), atau seluler (7xxx) 3. **Aktifkan/nonaktifkan seluler atau telepon kabel** sesuai yang Anda uji 4. **Pilih format**: Internasional (+kode negara) atau lokal 5. **Klik "Hasilkan"** dan salin hasilnya ### Contoh Praktis: Menguji Formulir Kontak Meksiko Misalkan Anda sedang membangun formulir pendaftaran untuk pengguna Meksiko dan perlu menguji validasi telepon: **Untuk nomor seluler Mexico City:** - Negara: "+52 Meksiko" - Wilayah: "CDMX (Mexico City)" - Seluler: Aktifkan - Format: Internasional (untuk menguji penanganan "+52") - Klik Hasilkan → Hasil: "+52 55 8374 2916" **Untuk menguji format lokal:** - Pertahankan pengaturan yang sama, nonaktifkan Internasional - Hasilkan → Hasil: "55 8374 2916" Sekarang Anda memiliki dua format valid untuk menguji bagaimana formulir Anda menangani keduanya. Jalankan ini melalui validator Anda untuk memastikan diterima kedua pola tersebut. ## Contoh Implementasi Kode di bawah ini menunjukkan cara menghasilkan dan memvalidasi nomor telepon dalam berbagai bahasa. Contoh-contoh ini mendemonstrasikan logika inti—dalam produksi, pertimbangkan untuk menggunakan [libphonenumber](https://github.com/google/libphonenumber) untuk validasi komprehensif. ### JavaScript
1// Contoh JavaScript untuk menghasilkan nomor ponsel Meksiko acak
2function generateMexicanMobileNumber(international = true) {
3  // Kode area Mexico City
4  const areaCode = "55";
5  
6  // Hasilkan 8 digit acak untuk nomor
7  let number = "";
8  for (let i = 0; i < 8; i++) {
9    number += Math.floor(Math.random() * 10);
10  }
11  
12  // Format nomor
13  const formattedNumber = `${areaCode} ${number.substring(0, 4)} ${number.substring(4, 8)}`;
14  
15  // Tambahkan kode negara jika format internasional diminta
16  return international ? `+52 ${formattedNumber}` : formattedNumber;
17}
18
19// Fungsi untuk memvalidasi nomor telepon Meksiko
20function validateMexicanPhoneNumber(number) {
21  // Pola untuk format internasional
22  const intlPattern = /^\+52 \d{2} \d{4} \d{4}$/;
23  
24  // Pola untuk format lokal
25  const localPattern = /^\d{2} \d{4} \d{4}$/;
26  
27  return intlPattern.test(number) || localPattern.test(number);
28}
29
30// Contoh penggunaan
31const phoneNumber = generateMexicanMobileNumber();
32console.log(phoneNumber); // Contoh: +52 55 1234 5678
33console.log(`Is valid: ${validateMexicanPhoneNumber(phoneNumber)}`); // Is valid: true
34

Python

1# Contoh Python untuk menghasilkan dan memvalidasi nomor telepon
2import random
3import re
4
5def generate_us_phone_number(international=True):
6    """Hasilkan nomor telepon AS acak."""
7    # Hasilkan kode area (menghindari kode seperti 911)
8    area_code = random.randint(200, 999)
9    
10    # Hasilkan 7 digit acak untuk nomor
11    prefix = random.randint(200, 999)
12    line = random.randint(1000, 9999)
13    
14    # Format nomor
15    if international:
16        return f"+1 {area_code} {prefix} {line}"
17    else:
18        return f"({area_code}) {prefix}-{line}"
19        
20def validate_us_phone_number(number):
21    """Validasi apakah string sesuai dengan pola nomor telepon AS."""
22    # Pola untuk format internasional
23    intl_pattern = r'^\+1 \d{3} \d{3} \d{4}$'
24    
25    # Pola untuk format lokal
26    local_pattern = r'^\(\d{3}\) \d{3}-\d{4}$'
27    
28    return bool(re.match(intl_pattern, number) or re.match(local_pattern, number))
29
30# Contoh penggunaan
31phone = generate_us_phone_number()
32print(phone)  # Contoh: +1 555 123 4567
33print(f"Is valid: {validate_us_phone_number(phone)}")  # Is valid: True
34

Java

1import java.util.Random;
2import java.util.regex.Pattern;
3
4public class PhoneNumberGenerator {
5    private static final Random random = new Random();
6    
7    public static String generateUKMobileNumber(boolean international) {
8        // Nomor ponsel UK dimulai dengan '7'
9        StringBuilder number = new StringBuilder("7");
10        
11        // Hasilkan 9 digit acak lainnya
12        for (int i = 0; i < 9; i++) {
13            number.append(random.nextInt(10));
14        }
15        
16        // Format nomor
17        String formatted = number.substring(0, 4) + " " + number.substring(4, 10);
18        
19        // Tambahkan kode negara jika format internasional diminta
20        return international ? "+44 " + formatted : "0" + formatted;
21    }
22    
23    public static boolean validateUKMobileNumber(String number) {
24        // Pola untuk format internasional
25        Pattern intlPattern = Pattern.compile("^\\+44 7\\d{3} \\d{6}$");
26        
27        // Pola untuk format lokal
28        Pattern localPattern = Pattern.compile("^07\\d{3} \\d{6}$");
29        
30        return intlPattern.matcher(number).matches() || 
31               localPattern.matcher(number).matches();
32    }
33    
34    public static void main(String[] args) {
35        String phoneNumber = generateUKMobileNumber(true);
36        System.out.println(phoneNumber); // Contoh: +44 7123 456789
37        System.out.println("Is valid: " + validateUKMobileNumber(phoneNumber)); // Is valid: true
38    }
39}
40

PHP

1<?php
2// Contoh PHP untuk menghasilkan dan memvalidasi nomor ponsel India
3
4function generateIndianMobileNumber($international = true) {
5    // Nomor ponsel India dimulai dengan 6, 7, 8, atau 9
6    $prefixes = [6, 7, 8, 9];
7    $prefix = $prefixes[array_rand($prefixes)];
8    
9    // Hasilkan 9 digit acak lainnya
10    $number = $prefix;
11    for ($i = 0; $i < 9; $i++) {
12        $number .= rand(0, 9);
13    }
14    
15    // Format nomor
16    $formatted = substr($number, 0, 5) . " " . substr($number, 5, 5);
17    
18    // Tambahkan kode negara jika format internasional diminta
19    return $international ? "+91 " . $formatted : $formatted;
20}
21
22function validateIndianMobileNumber($number) {
23    // Pola untuk format internasional
24    $intlPattern = '/^\+91 [6-9]\d{4} \d{5}$/';
25    
26    // Pola untuk format lokal
27    $localPattern = '/^[6-9]\d{4} \d{5}$/';
28    
29    return preg_match($intlPattern, $number) || preg_match($localPattern, $number);
30}
31
32// Contoh penggunaan
33$phoneNumber = generateIndianMobileNumber();
34echo $phoneNumber . "\n"; // Contoh: +91 98765 43210
35echo "Is valid: " . (validateIndianMobileNumber($phoneNumber) ? "true" : "false") . "\n"; // Is valid: true
36?>
37

C#

1using System;
2using System.Text;
3using System.Text.RegularExpressions;
4
5public class PhoneNumberGenerator
6{
7    private static Random random = new Random();
8    
9    public static string GenerateMexicanMobileNumber(bool international = true)
10    {
11        // Kode area Mexico City
12        string areaCode = "55";
13        
14        // Hasilkan 8 digit acak untuk nomor
15        StringBuilder number = new StringBuilder();
16        for (int i = 0; i < 8; i++)
17        {
18            number.Append(random.Next(10));
19        }
20        
21        // Format nomor
22        string formattedNumber = $"{areaCode} {number.ToString(0, 4)} {number.ToString(4, 4)}";
23        
24        // Tambahkan kode negara jika format internasional diminta
25        return international ? $"+52 {formattedNumber}" : formattedNumber;
26    }
27    
28    public static bool ValidateMexicanPhoneNumber(string number)
29    {
30        // Pola untuk format internasional
31        Regex intlPattern = new Regex(@"^\+52 \d{2} \d{4} \d{4}$");
32        
33        // Pola untuk format lokal
34        Regex localPattern = new Regex(@"^\d{2} \d{4} \d{4}$");
35        
36        return intlPattern.IsMatch(number) || localPattern.IsMatch(number);
37    }
38    
39    public static void Main()
40    {
41        string phoneNumber = GenerateMexicanMobileNumber();
42        Console.WriteLine(phoneNumber); // Contoh: +52 55 1234 5678
43        Console.WriteLine($"Is valid: {ValidateMexicanPhoneNumber(phoneNumber)}"); // Is valid: True
44    }
45}
46

Kasus Penggunaan Nyata untuk Generasi Nomor Telepon

Menguji Logika Validasi Formulir

Saat membangun formulir pendaftaran, Anda perlu memverifikasi bahwa validasi menangkap nomor yang salah tanpa menolak nomor yang valid. Inilah yang biasanya terjadi: pengembang menguji dengan pola sederhana seperti "555-1234" atau "123456789", yang tidak mengungkap kasus-kasus khusus.

Skenario umum adalah pendaftaran pengguna internasional. Formulir Anda mungkin menerima nomor AS dengan sempurna tetapi gagal pada nomor UK karena Anda tidak memperhitungkan panjang kode geografis yang bervariasi. Dengan menghasilkan nomor spesifik negara, Anda dapat menangkap masalah ini sebelum pengguna melaporkannya.

Tips pro: Hasilkan 50-100 nomor untuk setiap negara yang Anda dukung dan jalankan melalui validator Anda. Anda akan dengan cepat menemukan celah dalam pola regex Anda.

Mengisi Basis Data Pengembangan

Dari pengalaman saya bekerja dengan kumpulan data besar, data uji yang realistis membuat perbedaan besar dalam menangkap bug UI. Ketika tabel pelanggan Anda memiliki 10.000 entri yang semuanya menampilkan "555-5555", Anda tidak akan menyadari bahwa kolom telepon tidak cukup lebar untuk format internasional "+44 7700 123456".

Yang bekerja dengan baik: Hasilkan nomor yang beragam (negara berbeda, campuran seluler/telepon kabel) yang sesuai dengan distribusi produksi Anda. Jika 70% pengguna Anda berada di Meksiko, buat 70% data uji Anda berupa nomor Meksiko. Ini mengungkap masalah tampilan, masalah pengurutan, dan bug pemformatan ekspor yang akan Anda lewatkan.

Pengujian Integrasi API

Pengujian API SMS atau suara membutuhkan nomor telepon, tetapi Anda tidak dapat menggunakan data pelanggan nyata dalam pengembangan. Penyedia layanan seperti Twilio menawarkan nomor uji, tetapi terbatas. Untuk pengujian komprehensif—terutama pembatasan kecepatan, pemrosesan batch, dan penanganan kesalahan—Anda membutuhkan volume.

Kesalahan umum: hanya menguji dengan nomor telepon Anda sendiri. Ini tidak akan mengungkap masalah dengan format atau nomor internasional yang berbeda. Hasilkan serangkaian nomor yang sesuai dengan pasar target Anda, dan Anda akan menangkap bug pemformatan sebelum mencapai produksi.

Lingkungan Pendidikan dan Demo

Saat melatih staf pada sistem CRM atau mendemonstrasikan perangkat lunak kepada klien, Anda membutuhkan data yang terlihat nyata tanpa mengekspos informasi pelanggan sebenarnya. Nomor acak seperti "1234567890" terlihat palsu dan merusak kredibilitas.

Yang saya temukan berguna: Hasilkan kumpulan data uji lengkap dengan nama, alamat, dan nomor telepon yang diformat dengan benar untuk wilayah yang Anda demonstrasikan. Ini membuat pelatihan lebih efektif karena mencerminkan apa yang akan dilihat pengguna di produksi.

Perbandingan dengan Solusi Alternatif

Pustaka libphonenumber Google

Untuk validasi produksi, libphonenumber Google adalah standar emas. Pustaka ini menangani 200+ negara, memvalidasi terhadap data carrier nyata, dan mengurai nomor dalam berbagai format. Namun, dirancang untuk validasi, bukan generasi.

Kapan menggunakan libphonenumber: Ketika Anda perlu memvalidasi input pengguna nyata di produksi. Pustaka ini menangkap masalah seperti kode area yang tidak valid dan rentang nomor yang terputus.

Kapan menggunakan alat ini: Ketika Anda membutuhkan data uji dengan cepat tanpa menyiapkan pustaka. Alat kami menghasilkan dalam hitungan detik; mengintegrasikan libphonenumber membutuhkan jam.

Pustaka Faker dan Suite Generasi Data

Alat seperti Faker.js atau pustaka Faker Python menghasilkan nomor telepon bersama dengan nama, alamat, dan data palsu lainnya. Mereka sangat baik untuk membuat profil pengguna lengkap.

Keterbatasan: Sebagian besar pustaka faker menghasilkan nomor yang terlihat valid tetapi mungkin tidak mengikuti semua aturan spesifik negara. Misalnya, mereka mungkin membuat nomor UK yang dimulai dengan 8 (yang bukan awalan ponsel yang valid).

Keunggulan alat ini: Kami fokus pada aturan nomor telepon khusus, memastikan nomor yang dihasilkan mengikuti pola spesifik negara dengan akurat.

Nomor Uji Penyedia Telekomunikasi

Penyedia seperti Twilio dan Vonage menawarkan nomor telepon uji untuk pengembangan API. Ini adalah nomor yang berfungsi nyata yang tidak mengirim pesan atau melakukan panggilan.

Kapan menggunakan nomor uji penyedia: Untuk pengujian end-to-end di mana Anda perlu memverifikasi pengiriman pesan atau penyelesaian panggilan.

Kapan menggunakan alat ini: Untuk pengujian unit, pengujian antarmuka pengguna, dan pengisian basis data di mana Anda membutuhkan volume dan variasi tanpa batasan atau biaya API.

Sejarah Format dan Standar Nomor Telepon

Perkembangan format dan standar nomor telepon erat kaitannya dengan perkembangan teknologi dan infrastruktur telekomunikasi di seluruh dunia.

Sistem Telepon Awal (1870an-1950an)

Ketika sistem telepon pertama kali diperkenalkan pada akhir abad ke-19, nomor telepon sangat pendek, seringkali hanya 2-4 digit, karena setiap kota memiliki pusat telepon independen. Operator secara manual menyambungkan panggilan dengan memasang kabel ke papan sakelar.

Seiring berkembangnya jaringan telepon, nomor menjadi lebih panjang dan kode area diperkenalkan. North American Numbering Plan (NANP) dibuat pada tahun 1947 untuk membentuk sistem terpadu di Amerika Serikat dan Kanada, memperkenalkan format digit 3-3-4 (kode area, kode pertukaran, nomor pelanggan).

Pengembangan Standar Internasional (1960an-1980an)

International Telecommunication Union (ITU), yang didirikan pada tahun 1865 sebagai International Telegraph Union, mulai mengembangkan standar internasional untuk penomoran telepon pada 1960an. Hal ini mengarah pada penciptaan kode negara dan standarisasi prosedur panggilan internasional.

Pada tahun 1964, ITU memperkenalkan Rekomendasi E.163, yang menetapkan rencana penomoran telepon internasional. Ini kemudian digantikan oleh Rekomendasi E.164 pada tahun 1984, yang tetap menjadi standar saat ini untuk penomoran telekomunikasi publik internasional.

Revolusi Seluler (1990an-2000an)

Adopsi meluas telepon seluler pada 1990an dan 2000an menciptakan tantangan baru bagi sistem penomoran. Banyak negara memperkenalkan awalan khusus atau rentang nomor yang didedikasikan untuk telepon seluler. Misalnya, di Inggris, nomor seluler biasanya dimulai dengan '07', sementara di Meksiko, nomor seluler mempertahankan format yang sama dengan telepon kabel tetapi dengan kode area yang berbeda.

Standar Modern dan Era VoIP (2000an-Sekarang)

Dengan munculnya Voice over IP (VoIP) dan komunikasi berbasis internet, format nomor telepon menjadi lebih fleksibel. Standar E.164 telah disesuaikan untuk mengakomodasi teknologi baru ini, dan banyak negara telah merevisi rencana penomoran mereka untuk menciptakan kapasitas lebih.

Pengenalan portabilitas nomor di banyak negara semakin mengaburkan perbedaan antara nomor seluler dan telepon kabel, karena pengguna kini dapat mempertahankan nomor mereka saat beralih antara jenis layanan.

Saat ini, format nomor telepon terus berkembang, dengan beberapa negara mempertimbangkan penghapusan kode area atau integrasi nomor telepon dengan identitas digital. Namun, struktur dasar yang ditetapkan oleh E.164 tetap menjadi landasan penomoran telekomunikasi global.

Pertanyaan yang Sering Diajukan

Bagaimana Cara Menghasilkan Nomor Telepon Acak untuk Pengujian?

Pilih negara dan wilayah target dari dropdown, aktifkan apakah Anda ingin format seluler atau telepon kabel, dan klik "Hasilkan Nomor Telepon". Alat ini membuat nomor yang valid secara struktural mengikuti aturan pemformatan negara tersebut. Anda dapat beralih antara format internasional (dengan kode negara +) dan format lokal.

Untuk menguji berbagai skenario, hasilkan beberapa nomor dengan pengaturan berbeda—ini membantu menangkap bug validasi yang hanya muncul dengan format tertentu.

Apakah Ini Nomor Telepon Nyata yang Dapat Menerima Panggilan atau Pesan?

Tidak. Nomor yang dihasilkan mengikuti pola pemformatan yang benar tetapi dibuat secara acak dan tidak ditugaskan ke pelanggan aktual. Mereka dirancang untuk menguji logika validasi, mengisi basis data, dan mendemonstrasikan perangkat lunak—bukan untuk telekomunikasi nyata.

Penting: Jangan pernah menggunakan nomor ini untuk mencoba panggilan atau pesan sebenarnya. Mereka mungkin milik orang nyata atau tidak ditugaskan.

Apa Perbedaan antara Format Nomor Telepon Internasional dan Lokal?

Format internasional mencakup kode negara dengan tanda plus: +52 55 1234 5678 (Meksiko). Ini adalah standar E.164 yang digunakan untuk telekomunikasi global.

Format lokal menunjukkan cara Anda melakukan panggilan dalam negara tersebut: 55 1234 5678 (Meksiko). Ini menghilangkan kode negara karena panggilan domestik tidak memerlukan kode tersebut.

Saat menguji aplikasi yang melayani pengguna internasional, validasi kedua format. Pengguna memasukkan nomor secara tidak konsisten—beberapa menyalin "+1 555...", yang lain mengetik "(555)..." Validator yang kuat menangani keduanya.

Mengapa Negara yang Berbeda Memiliki Format Nomor Telepon yang Berbeda?

Setiap negara mengembangkan rencana penomoran independen, dipengaruhi oleh ukuran populasi, pembagian geografis, dan kapan mereka membangun infrastruktur telepon. AS mengadopsi North American Numbering Plan pada tahun 1947 dengan pola digit 3-3-4. Inggris menggunakan kode geografis dengan panjang variabel. India menyeragamkan nomor seluler 10 digit untuk mengakomodasi populasi massifnya.

Standar E.164 dari International Telecommunication Union memberikan kerangka, tetapi negara menerapkannya berbeda berdasarkan kebutuhan mereka. Inilah mengapa validasi telepon kompleks—Anda tidak dapat menggunakan satu pola regex untuk semua negara.

Bisakah Saya Menggunakan Nomor Telepon yang Dihasilkan dalam Aplikasi Produksi Saya?

Gunakan hanya untuk pengembangan dan pengujian. Jangan simpan sebagai data pengguna aktual dalam basis data produksi. Berikut alasannya:

  • Mereka mungkin secara kebetulan cocok dengan nomor yang ditugaskan
  • Mereka tidak akan menerima kode verifikasi atau panggilan
  • Pengguna akan bingung jika melihat nomor ini di profil akun mereka

Untuk pengujian produksi (seperti lingkungan staging), gunakan nomor uji khusus dari penyedia SMS atau suara Anda.

Bagaimana Cara Kerja Validasi Nomor Telepon?

Validasi memeriksa kebenaran struktural menggunakan aturan spesifik negara:

  1. Verifikasi panjang: Nomor AS harus 10 digit, seluler Inggris 10-11 digit
  2. Pemeriksaan awalan: Seluler Inggris dimulai dengan 7, seluler Meksiko menggunakan kode area spesifik
  3. Pencocokan pola: Pola regex memastikan pengelompokan dan format yang benar

Yang tidak dilakukan validasi: memverifikasi apakah nomor saat ini dalam layanan, mengidentifikasi operator, atau memeriksa apakah dapat menerima pesan. Untuk itu, Anda memerlukan layanan seperti Twilio's Lookup API atau mengintegrasikan libphonenumber.

Apakah Alat Ini Menyimpan atau Menyimpan Nomor Telepon yang Saya Hasilkan?

Tidak. Semua pembuatan terjadi di browser Anda. Tidak ada yang dikirim ke server atau disimpan di mana pun. Saat Anda menghasilkan nomor, nomor tersebut hanya ada di sesi Anda saat ini. Segarkan halaman dan nomor tersebut hilang.

Ini membuat alat aman untuk bekerja dengan data uji di lingkungan aman di mana Anda tidak dapat mengirim informasi eksternal.

Bagaimana Cara Memvalidasi Nomor Telepon dalam Kode Saya Sendiri?

Contoh implementasi di atas menunjukkan pola validasi untuk bahasa berbeda. Pendekatan dasarnya:

  1. Tentukan pola regex untuk setiap negara yang Anda dukung
  2. Normalisasi input (hapus spasi, tanda kurung, tanda hubung)
  3. Periksa apakah nomor yang dibersihkan cocok dengan pola Anda
  4. Pertimbangkan menggunakan libphonenumber untuk produksi—ini menangani kasus khusus lebih baik daripada regex khusus

Kesalahan umum: Memvalidasi format tetapi tidak menormalisasi input terlebih dahulu. Pengguna memasukkan "+1 (555) 123-4567", "1-555-123-4567", dan "15551234567" dengan harapan semuanya berfungsi. Validator Anda harus menangani semua varian.

Referensi

  1. International Telecommunication Union (ITU). "E.164: Rencana Penomoran Telekomunikasi Publik Internasional." ITU

  2. North American Numbering Plan Administration. "Tentang North American Numbering Plan." NANPA

  3. Ofcom (Inggris). "Nomor Telepon - Rencana Penomoran Telepon Nasional." Ofcom

  4. Kementerian Telekomunikasi, Pemerintah India. "Rencana Penomoran Nasional." DoT India

  5. Instituto Federal de Telecomunicaciones (Meksiko). "Rencana Penomoran Nasional." IFT Mexico

  6. Pustaka libphonenumber Google. "Parsing, Pemformatan, dan Validasi Nomor Telepon." Repositori GitHub

  7. Panduan Penomoran Telepon Dunia. "Kode Panggilan Internasional dan Informasi." WTNG

Mulai Menghasilkan Nomor Telepon Uji Coba

Butuh nomor telepon valid untuk sesi pengujian berikutnya? Pilih negara Anda, pilih seluler atau telepon kabel, dan hasilkan nomor yang diformat dengan benar sesuai pola dunia nyata. Alat ini menangani kompleksitas standar internasional sambil menjaga antarmuka tetap sederhana—tanpa akun, tanpa kunci API, hanya hasil instan.

Sempurna untuk pengembang menguji logika validasi, tim QA yang mengisi lingkungan pengujian, atau siapa pun yang membutuhkan contoh nomor telepon realistis.

đź”—

Alat Terkait

Temukan lebih banyak alat yang mungkin berguna untuk alur kerja Anda