Telefon Numarası Oluşturucu ve Doğrulayıcı - Herhangi Bir Ülke İçin Test Numaraları
ABD, İngiltere, Meksika, Hindistan için geçerli test telefon numaraları oluşturun. Uygun biçimlendirmeyle mobil veya sabit hat numaraları yaratın. Geliştiriciler için doğrulama mantığını test etmeye yönelik ücretsiz araç.
Phone Number Generator & Validator
Belgeler
Telefon Numarası Oluşturmanın Önemi
Test telefon doğrulama mantığı can sıkıcı olabilir. Ülkeye özgü desenlere uyan gerçekçi numaralar gerekir, ancak manuel test verisi oluşturmak zahmetli ve hataya açıktır. Bu araç, birden fazla ülke için yapısal olarak geçerli telefon numaraları oluşturarak bu sorunu çözer - uygun alan kodları, mobil ön ekler ve biçimlendirmeyle birlikte.
İster bir iletişim formu oluştururken, SMS API'sını test ederken veya geliştirme veritabanını doldururken olun, gerçek dünya formatlarına uyan numaralar alacaksınız. Araç, uluslararası standartların (örneğin E.164) karmaşıklığını hallederken arayüzü basit tutar: bir ülke seçin, mobil veya sabit hat tercih edin ve oluşturun.
Bu aracı rastgele basamak üreteçlerinden ayıran nedir? Kuralları dikkate almasıdır. Meksika mobil numaraları uygun alan kodlarını alır (Mexico City için 55, Guadalajara için 33). ABD numaraları, 0 veya 1 ile başlayan geçersiz alan kodu desenlerinden kaçınır. Birleşik Krallık mobil numaraları 7 ile başlar. Bu ayrıntılar, kullanıcıların üretimde karşılaşacağı doğrulama mantığını test ederken önemlidir.
Telefon Numarası Üreticisi Nasıl Çalışır
Basit arayüzün arkasında, üretici geçerli telefon numaraları oluşturmak için ülkeye özgü kuralları uygular:
-
Ülke ve Bölge Seçimi: Hedef ülkenizi ve bölgenizi seçin. Bu, alan kodunu belirler—örneğin, Meksika'da "CDMX" seçildiğinde otomatik olarak 55 alan kodu kullanılır.
-
Numara Türü Mantığı: Mobil ve sabit hat numaraları farklı desenleri izler. Birleşik Krallık'ta, mobil numaralar 7 ile başlar, sabit hatlar ise Londra için 20 gibi coğrafi kodları kullanır. Araç, seçiminize göre doğru ön eki uygular.
-
Rastgele Basamak Üretimi: Abone numaraları için, araç geçerli aralıklarda rastgele basamaklar üretir. Her yerde tüm basamaklar çalışmaz—ABD alan kodları 0 veya 1 ile başlayamaz ve bazı kodlar hizmetler için ayrılmıştır.
-
Biçim Uygulama: Numaralar E.164 standartlarına (uluslararası) veya yerel kurallara göre biçimlendirilir. Meksika numaraları uluslararası olarak "+52 55 1234 5678" veya yerel olarak "55 1234 5678" şeklinde görünür.
-
Doğrulama: Oluşturulan her numara, o ülkeye özgü regex desenleriyle kontrol edilir. Bu, numarayı görüntülemeden önce yapısal hataları yakalar.
Görmeyeceğiniz şey: Araç, acil durum numaralarını (911 gibi), test aralıklarını ve özel hizmet kodlarını kasıtlı olarak atlar. Bu, gerçek hizmetleri yanlışlıkla tetiklemek istemediğiniz test ortamları için çıktıyı daha güvenli kılar.
Formül ve Algoritmalar
Telefon numarası oluşturma basit bir rastgele süreç gibi görünse de, onu doğru bir şekilde uygulamak, farklı bölgelerde telefon numaralarını geçerli kılan matematiksel kısıtlamaları ve desenleri anlamayı gerektirir.
Rastgele Numara Oluşturma Algoritması
Geçerli bir telefon numarası oluşturmak için temel algoritma şu formülü izler:
Burada:
- tam telefon numarasıdır
- ülke kodu (yerel formatta isteğe bağlı)
- alan/bölge kodudur
- ön ek (numara türüne bağlı kısıtlamalar olabilir)
- abone numarasıdır (rastgele rakamlar)
Doğrulama Algoritması
Telefon numaralarının doğrulanması, matematiksel olarak ifade edilebilen düzenli ifade desenine göre eşleştirme işlemi olarak gösterilebilir:
1 & \text{eğer } N \text{ desenle eşleşirse } R_c \\ 0 & \text{aksi halde} \end{cases}$$ Burada: - $V(N)$ doğrulama sonucudur (1 geçerli, 0 geçersiz) - $N$ doğrulanacak telefon numarası - $R_c$ ülke $c$ için düzenli ifade desenidir ### Olasılık ve Dağılım Rastgele telefon numaraları oluştururken, her konumdaki geçerli rakam aralığını dikkate almamız gerekir. Örneğin, ABD'de alan kodları 0 veya 1 ile başlayamaz ve 911 gibi servis kodları olamaz. Bir ülke için olası geçerli telefon numaralarının sayısı şu şekilde hesaplanabilir: $$P_c = \prod_{i=1}^{n} d_i$$ Burada: - $P_c$ ülke $c$ için toplam olası geçerli telefon numarası sayısı - $n$ telefon numarasındaki konum sayısı (ülke kodu hariç) - $d_i$ $i$ konumu için geçerli rakam sayısı Örneğin, ABD telefon numaraları için (ülke kodu hariç): - Alan kodunun ilk hanesi: 8 olasılık (2-9) - Alan kodunun ikinci ve üçüncü haneleri: Her biri 10 olasılık (0-9) - Yedi abone hanesi: Her biri 10 olasılık (0-9) $$P_{ABD} = 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$$ Bu, 8 milyar olası geçerli ABD telefon numarası olduğu anlamına gelir, ancak bunların çoğu ayrılmış veya atanmamıştır. ## Temel Özellikler ### Bölgesel Doğrulukla Çok Ülkeli Destek Dört büyük pazara yönelik telefon numaraları oluşturun: - **Meksika (+52)**: CDMX (55), Guadalajara (33), Monterrey (81), Cancun (998) ve diğer bölgesel kodlar - **Amerika Birleşik Devletleri (+1)**: Geçerli alan kodları ile standart 10 haneli format - **Birleşik Krallık (+44)**: Londra (20), Manchester (161) ve mobil (7xxx) için coğrafi kodlar - **Hindistan (+91)**: Uygun taşıyıcı ön ekleri (6/7/8/9) ile 10 haneli mobil numaralar Her bölge otantik alan kodları kullanır. "Mexico City" seçtiğinizde, 55 alan kodunu alırsınız—gerçek Meksika numaralarının kullandığı kod. Bu doğruluk, numaraları ayrıştıran veya doğrulayan uygulamaları test ederken önemlidir. ### Uluslararası ve Yerel Format Geçişi İki standart gösterimde geçiş yapın: - **Uluslararası (E.164)**: +52 55 1234 5678 - API'ler, veritabanları ve küresel sistemler için kullanılır - **Yerel**: 55 1234 5678 - Kullanıcıların kendi ülkelerinde gördüğü format **Neden önemli**: Uygulamanız her iki formatta da numaralar alabilir. Meksika'daki kullanıcılar yerel formatı, uluslararası kullanıcılar ülke kodlarını kullanır. Her ikisini de test etmek, doğrulamanızın gerçek dünya girdilerini işlemesini sağlar. ### Mobil ve Sabit Hat Ayrımı Uygun ön eklerle mobil veya sabit hat numaraları oluşturun: - **Mobil**: İngiltere numaraları Ofcom düzenlemelerine uygun olarak 7 ile başlar - **Sabit Hat**: Belirli şehirlere bağlı coğrafi kodlar (Londra'nın 20, Delhi'nin 11) Ayrım teknik açıdan önemlidir, sadece kozmetik değil. Mobil ve sabit hat numaraları aynı ülke içinde farklı numaralandırma planları izler. Doğrulama mantığınızın her ikisini de tanıması gerekir. ### Tek Tıkla Kopyalama Oluşturulan numaraları panoya anında eklemek için kopyalama düğmesine tıklayın. Manuel seçim veya vurgulama gerekmez—tıklayın ve test betiklerinize, SQL eklemelerinize veya form alanlarınıza yapıştırın. ## Telefon Numarası Biçim Standartları ### E.164'u Anlamak: Küresel Standart [E.164 standardı](https://www.itu.int/rec/T-REC-E.164/en), Uluslararası Telekomünikasyon Birliği tarafından yönetilen, telefon numaralarının küresel olarak nasıl çalıştığını tanımlayan standarttır. 1984'te oluşturulmuş ve bugün hâlâ kullanılmakta olan bu standart, temel kuralları belirlemiştir: - **Toplam maksimum 15 hane** (ülke kodu dahil) - Uluslararası biçim için **artı işareti ön eki** (+) - Gerçek numarada **özel karakter kullanılmaması** (boşluklar ve tire yalnızca görüntüleme içindir) Biçim yapısı: +[ülke kodu] [ulusal numara] Geliştiriciler için önemi: Telefon numaralarını veritabanlarında depolarken E.164 biçimini kullanın. Bu biçim belirsizlik taşımaz, ayrıştırılabilir ve herhangi bir telekomünikasyon API'sıyla çalışır. "+15551234567" gibi bir numara evrensel olarak anlaşılırken, "(555) 123-4567" hangi ülkeye ait olduğunu anlamak için bağlam gerektirir. [SVG içeriği aynı kalacak] ### Ülkeye Özgü Biçimler #### Meksika (+52) Meksika'nın telefon numarası sistemi şu desenleri izler: - **Mobil Numaralar**: Toplam 10 hane - Biçim: +52 XX XXXX XXXX - Örnek: +52 55 1234 5678 - Meksika'daki mobil numaralar genellikle 55 (Mexico City), 33 (Guadalajara), 81 (Monterrey) gibi alan kodlarıyla başlar - **Sabit Hat Numaraları**: 8 hane (2 haneli alan kodu artı) - Biçim: +52 XX XXXX XXXX - Örnek: +52 55 5123 4567 #### Amerika Birleşik Devletleri (+1) - **Hem Mobil Hem Sabit Hat**: Toplam 10 hane - Biçim: +1 XXX XXX XXXX - Alan kodları (ilk 3 hane) bölgeye göre değişir - Mobil ve sabit hat numaraları aynı biçimi izler ancak farklı ön eklere sahiptir #### Birleşik Krallık (+44) - **Mobil Numaralar**: Genellikle '7' ile başlar - Biçim: +44 7XXX XXXXXX - Örnek: +44 7700 123456 - **Sabit Hat Numaraları**: Bölgeye göre değişir - Biçim: +44 XX XXXX XXXX veya +44 XXX XXX XXXX - Örnek: +44 20 1234 5678 (Londra) #### Hindistan (+91) - **Mobil Numaralar**: 10 hane, genellikle 6, 7, 8 veya 9 ile başlar - Biçim: +91 XXXXX XXXXX - Örnek: +91 98765 43210 - **Sabit Hat Numaraları**: Bölgeye göre değişir, genellikle STD kodu artı 8 hane - Biçim: +91 XX XXXX XXXX - Örnek: +91 11 2345 6789 (Delhi) ## Hızlı Başlangıç Kılavuzu: İlk Test Numaranızı Oluşturun ### Temel Oluşturma (10 Saniyeden Az) 1. **Ülkenizi** açılır menüden seçin: ABD (+1), İngiltere (+44), Meksika (+52) veya Hindistan (+91) 2. **Doğru alan kodunu almak için bir bölge seçin**: - Meksika: CDMX (55), Guadalajara (33), Monterrey (81) - ABD: Eyalete göre değişir - İngiltere: Londra (20), Manchester (161) veya mobil (7xxx) 3. **Test ettiğinize bağlı olarak mobil veya sabit hattı açın/kapatın** 4. **Formatı seçin**: Uluslararası (+ülke kodu) veya yerel 5. **"Oluştur"a tıklayın** ve sonucu kopyalayın ### Pratik Örnek: Meksikalı Bir İletişim Formunu Test Etme Meksikalı kullanıcılar için bir kayıt formu oluştururken telefon doğrulamasını test etmeniz gerektiğini varsayalım: **Meksika Şehri mobil numaraları için:** - Ülke: "+52 Meksika" - Bölge: "CDMX (Mexico City)" - Mobil: Açık - Format: Uluslararası ("+52" işlemeyi test etmek için) - Oluştur'a tıklayın → Sonuç: "+52 55 8374 2916" **Yerel formatı test etmek için:** - Aynı ayarları koruyun, Uluslararası'yı kapatın - Oluştur → Sonuç: "55 8374 2916" Artık formunuzun her iki deseni de nasıl kabul ettiğini test etmek için iki geçerli format var. Bunları doğrulayıcınızdan geçirin ve her iki desenin de kabul edildiğinden emin olun. ## Uygulama Örnekleri Aşağıdaki kod, farklı dillerde telefon numarası oluşturma ve doğrulama yöntemlerini göstermektedir. Bu örnekler temel mantığı göstermektedir—üretim ortamında, kapsamlı doğrulama için [libphonenumber](https://github.com/google/libphonenumber) kullanılması önerilir. ### JavaScript1// Rastgele bir Meksika mobil numarası oluşturma JavaScript örneği
2function generateMexicanMobileNumber(international = true) {
3 // Mexico City alan kodu
4 const areaCode = "55";
5
6 // Numara için 8 rastgele basamak oluşturma
7 let number = "";
8 for (let i = 0; i < 8; i++) {
9 number += Math.floor(Math.random() * 10);
10 }
11
12 // Numarayı biçimlendirme
13 const formattedNumber = `${areaCode} ${number.substring(0, 4)} ${number.substring(4, 8)}`;
14
15 // Uluslararası format istenirse ülke kodunu ekleme
16 return international ? `+52 ${formattedNumber}` : formattedNumber;
17}
18
19// Meksika telefon numarasını doğrulama fonksiyonu
20function validateMexicanPhoneNumber(number) {
21 // Uluslararası format deseni
22 const intlPattern = /^\+52 \d{2} \d{4} \d{4}$/;
23
24 // Yerel format deseni
25 const localPattern = /^\d{2} \d{4} \d{4}$/;
26
27 return intlPattern.test(number) || localPattern.test(number);
28}
29
30// Kullanım örneği
31const phoneNumber = generateMexicanMobileNumber();
32console.log(phoneNumber); // Örnek: +52 55 1234 5678
33console.log(`Geçerli: ${validateMexicanPhoneNumber(phoneNumber)}`); // Geçerli: true
34Python
1# Telefon numarası oluşturma ve doğrulama Python örneği
2import random
3import re
4
5def generate_us_phone_number(international=True):
6 """Rastgele bir ABD telefon numarası oluşturma."""
7 # Alan kodu oluşturma (911 gibi kodlardan kaçınma)
8 area_code = random.randint(200, 999)
9
10 # Numara için 7 rastgele basamak oluşturma
11 prefix = random.randint(200, 999)
12 line = random.randint(1000, 9999)
13
14 # Numarayı biçimlendirme
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 """Bir dizenin ABD telefon numarası desenine uyup uymadığını doğrulama."""
22 # Uluslararası format deseni
23 intl_pattern = r'^\+1 \d{3} \d{3} \d{4}$'
24
25 # Yerel format deseni
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# Kullanım örneği
31phone = generate_us_phone_number()
32print(phone) # Örnek: +1 555 123 4567
33print(f"Geçerli: {validate_us_phone_number(phone)}") # Geçerli: True
34Java
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 // İngiltere mobil numaraları '7' ile başlar
9 StringBuilder number = new StringBuilder("7");
10
11 // 9 ek rastgele basamak oluşturma
12 for (int i = 0; i < 9; i++) {
13 number.append(random.nextInt(10));
14 }
15
16 // Numarayı biçimlendirme
17 String formatted = number.substring(0, 4) + " " + number.substring(4, 10);
18
19 // Uluslararası format istenirse ülke kodunu ekleme
20 return international ? "+44 " + formatted : "0" + formatted;
21 }
22
23 public static boolean validateUKMobileNumber(String number) {
24 // Uluslararası format deseni
25 Pattern intlPattern = Pattern.compile("^\\+44 7\\d{3} \\d{6}$");
26
27 // Yerel format deseni
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); // Örnek: +44 7123 456789
37 System.out.println("Geçerli: " + validateUKMobileNumber(phoneNumber)); // Geçerli: true
38 }
39}
40PHP
1<?php
2// Hint mobil numarası oluşturma ve doğrulama PHP örneği
3
4function generateIndianMobileNumber($international = true) {
5 // Hint mobil numaraları 6, 7, 8 veya 9 ile başlar
6 $prefixes = [6, 7, 8, 9];
7 $prefix = $prefixes[array_rand($prefixes)];
8
9 // 9 ek rastgele basamak oluşturma
10 $number = $prefix;
11 for ($i = 0; $i < 9; $i++) {
12 $number .= rand(0, 9);
13 }
14
15 // Numarayı biçimlendirme
16 $formatted = substr($number, 0, 5) . " " . substr($number, 5, 5);
17
18 // Uluslararası format istenirse ülke kodunu ekleme
19 return $international ? "+91 " . $formatted : $formatted;
20}
21
22function validateIndianMobileNumber($number) {
23 // Uluslararası format deseni
24 $intlPattern = '/^\+91 [6-9]\d{4} \d{5}$/';
25
26 // Yerel format deseni
27 $localPattern = '/^[6-9]\d{4} \d{5}$/';
28
29 return preg_match($intlPattern, $number) || preg_match($localPattern, $number);
30}
31
32// Kullanım örneği
33$phoneNumber = generateIndianMobileNumber();
34echo $phoneNumber . "\n"; // Örnek: +91 98765 43210
35echo "Geçerli: " . (validateIndianMobileNumber($phoneNumber) ? "true" : "false") . "\n"; // Geçerli: true
36?>
37C#
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 // Mexico City alan kodu
12 string areaCode = "55";
13
14 // Numara için 8 rastgele basamak oluşturma
15 StringBuilder number = new StringBuilder();
16 for (int i = 0; i < 8; i++)
17 {
18 number.Append(random.Next(10));
19 }
20
21 // Numarayı biçimlendirme
22 string formattedNumber = $"{areaCode} {number.ToString(0, 4)} {number.ToString(4, 4)}";
23
24 // Uluslararası format istenirse ülke kodunu ekleme
25 return international ? $"+52 {formattedNumber}" : formattedNumber;
26 }
27
28 public static bool ValidateMexicanPhoneNumber(string number)
29 {
30 // Uluslararası format deseni
31 Regex intlPattern = new Regex(@"^\+52 \d{2} \d{4} \d{4}$");
32
33 // Yerel format deseni
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); // Örnek: +52 55 1234 5678
43 Console.WriteLine($"Geçerli: {ValidateMexicanPhoneNumber(phoneNumber)}"); // Geçerli: True
44 }
45}
46Telefon Numarası Oluşturmanın Gerçek Dünya Kullanım Örnekleri
Form Doğrulama Mantığını Test Etme
Kayıt formları oluştururken, doğrulamanın geçersiz numaraları reddetmesini, ancak geçerli numaraları kabul etmesini sağlamanız gerekir. Genellikle şöyle olur: geliştiriciler "555-1234" veya "123456789" gibi basit desenlerle test yapar, bu da kenar durumları ortaya çıkarmaz.
Uluslararası kullanıcı kaydı yaygın bir senaryodur. Formunuz ABD numaralarını mükemmel şekilde kabul edebilir, ancak coğrafi kod uzunluğundaki değişkenlik nedeniyle İngiltere numaralarında başarısız olabilir. Ülkeye özgü numaralar oluşturarak, kullanıcılar rapor etmeden önce bu sorunları yakalayabilirsiniz.
Pro ipucu: Desteklediğiniz her ülke için 50-100 numara oluşturun ve doğrulayıcınızdan geçirin. Regex desenlerinizde hızlıca boşlukları bulacaksınız.
Geliştirme Veritabanlarını Doldurma
Büyük veri setleriyle çalışırken edindiğim deneyime göre, gerçekçi test verileri UI hatalarını yakalamada büyük fark yaratır. Müşteri tablonuzda 10.000 girdi "555-5555" gösteriyorsa, telefon sütunlarının uluslararası format "+44 7700 123456" için yeterince geniş olmadığını fark etmezsiniz.
İyi çalışan yaklaşım: Üretim dağılımınıza uyan çeşitli numaralar (farklı ülkeler, mobil/sabit hat karışımı) oluşturun. Kullanıcılarınızın %70'i Meksika'dan geliyorsa, test verilerinizin %70'ini Meksika numaraları oluşturun. Bu, aksi halde gözden kaçıracağınız görüntüleme sorunlarını, sıralama problemlerini ve dışa aktarma biçimlendirme hatalarını ortaya çıkarır.
API Entegrasyon Testi
SMS veya ses API'lerini test etmek telefon numaraları gerektirir, ancak geliştirmede gerçek müşteri verilerini kullanamazsınız. Twilio gibi servis sağlayıcılar test numaraları sunar, ancak bunlar sınırlıdır. Kapsamlı test için—özellikle hız sınırlandırma, toplu işleme ve hata yönetimi için—hacme ihtiyacınız vardır.
Sık yapılan hata: yalnızca kendi telefon numaranızla test etmek. Bu, farklı biçimler veya uluslararası numaralarla ilgili sorunları ortaya çıkarmaz. Hedef pazarlarınıza uyan bir numara seti oluşturun ve üretime ulaşmadan önce biçimlendirme hatalarını yakalayın.
Eğitim ve Demo Ortamları
Personeli CRM sistemlerinde eğitirken veya yazılımı müşterilere gösterirken, gerçek müşteri bilgilerini açığa çıkarmadan gerçekçi görünen verilere ihtiyacınız vardır. "1234567890" gibi rastgele numaralar sahte görünür ve güvenilirliği zedeler.
Benim yararlı bulduğum: Gösterdiğiniz bölgeler için gerçekçi adlar, adresler ve düzgün biçimlendirilmiş telefon numaraları içeren tam test veri setleri oluşturun. Bu, eğitimi üretimde kullanıcıların göreceği şeye benzediği için daha etkili kılar.
Alternatif Çözümlerle Karşılaştırma
Google'ın libphonenumber Kütüphanesi
Üretim doğrulaması için, Google'ın libphonenumber altın standarttır. 200'den fazla ülkeyi destekler, gerçek operatör verileriyle doğrulama yapar ve numaraları çeşitli formatlarda ayrıştırır. Ancak, doğrulama için tasarlanmıştır, oluşturma için değil.
libphonenumber ne zaman kullanılır: Üretimde gerçek kullanıcı girişini doğrulamanız gerektiğinde. Geçersiz alan kodları ve bağlantısız numara aralıkları gibi sorunları yakalar.
Bu aracın ne zaman kullanılacağı: Bir kütüphane kurmadan hızlıca test verileri gerektiğinde. Aracımız saniyeler içinde oluşturur; libphonenumber entegrasyonu saatler alır.
Faker Kütüphaneleri ve Veri Oluşturma Paketleri
Faker.js veya Python'un Faker kütüphanesi gibi araçlar, telefon numaralarını isimler, adresler ve diğer sahte verilerle birlikte oluşturur. Eksiksiz kullanıcı profilleri oluşturmak için mükemmeldir.
Sınırlama: Çoğu faker kütüphanesi, geçerli görünen ancak tüm ülkeye özgü kuralları izlemeyen numaralar oluşturur. Örneğin, 8 ile başlayan UK numaraları oluşturabilirler (ki bunlar geçerli mobil ön ekler değildir).
Bu aracın avantajı: Telefon numarası kurallarına odaklanarak, oluşturulan numaraların ülkeye özgü desenlere kesin olarak uymasını sağlarız.
Telekomünikasyon Sağlayıcı Test Numaraları
Twilio ve Vonage gibi sağlayıcılar, API geliştirme için test telefon numaraları sunar. Bunlar, mesaj göndermeyen veya arama yapmayan çalışan gerçek numaralardır.
Sağlayıcı test numaraları ne zaman kullanılır: Mesaj iletimini veya arama tamamlanmasını doğrulamak için uçtan uca testlerde.
Bu aracın ne zaman kullanılacağı: API hız sınırları veya maliyetler olmadan hacim ve çeşitlilik gerektiren birim testler, UI testleri ve veritabanı doldurma için.
Telefon Numarası Formatları ve Standartlarının Tarihi
Telefon numarası formatları ve standartlarının gelişimi, dünya çapında telekomünikasyon teknolojisi ve altyapısının gelişimiyle yakından ilişkilidir.
Erken Telefon Sistemleri (1870'ler-1950'ler)
Telefon sistemleri 19. yüzyılın sonlarında ilk kez tanıtıldığında, telefon numaraları çok kısa, genellikle 2-4 haneli idi, çünkü her kasaba veya şehrin kendi bağımsız telefon santrali vardı. Operatörler çağrıları manuel olarak santral panoları üzerinden fiziksel olarak kablolar takarak bağlıyorlardı.
Telefon ağları büyüdükçe, numaralar daha uzun hale geldi ve alan kodları tanıtıldı. Kuzey Amerika Numaralandırma Planı (NANP), 1947'de Amerika Birleşik Devletleri ve Kanada genelinde birleşik bir sistem oluşturmak için oluşturuldu ve tanıdık 3-3-4 haneli formatı (alan kodu, santral kodu, abone numarası) sundu.
Uluslararası Standartların Gelişimi (1960'lar-1980'ler)
1865'te Uluslararası Telgraf Birliği olarak kurulan Uluslararası Telekomünikasyon Birliği (ITU), 1960'larda telefon numaralandırma için uluslararası standartlar geliştirmeye başladı. Bu, ülke kodlarının oluşturulmasına ve uluslararası arama prosedürlerinin standartlaştırılmasına yol açtı.
1964'te ITU, uluslararası telefon numaralandırma planını oluşturan E.163 Tavsiyesini tanıttı. Bu daha sonra 1984'te E.164 Tavsiyesi ile değiştirildi ve halen uluslararası kamu telekomünikasyon numaralandırması için geçerli standart olmaya devam etmektedir.
Mobil Devrim (1990'lar-2000'ler)
1990'lar ve 2000'lerde mobil telefonların yaygın olarak benimsenmesi, numaralandırma sistemleri için yeni zorluklar yarattı. Birçok ülke, mobil telefonlar için özel ön ekler veya tüm numara aralıkları tanıttı. Örneğin, İngiltere'de mobil numaralar tipik olarak '07' ile başlar, Meksika'da ise mobil numaralar, farklı alan kodları ile birlikte sabit hat numaraları ile aynı formatta tutuldu.
Modern Standartlar ve VoIP Çağı (2000'ler-Günümüz)
Ses Üzerinden IP (VoIP) ve internet tabanlı iletişimin yükselişiyle, telefon numarası formatları daha esnek hale geldi. E.164 standardı bu yeni teknolojilere uyum sağlamak için uyarlandı ve birçok ülke daha fazla kapasite oluşturmak için numaralandırma planlarını gözden geçirdi.
Birçok ülkede numara taşınabilirliğinin tanıtılması, kullanıcılar hizmet türleri arasında geçiş yaparken numaralarını koruyabildikleri için mobil ve sabit hat numaraları arasındaki ayrımı daha da bulanıklaştırdı.
Bugün, telefon numarası formatları hala gelişmeye devam ediyor ve bazı ülkeler alan kodlarını kaldırmayı veya telefon numaralarını dijital kimliklerle entegre etmeyi düşünüyor. Ancak, E.164 tarafından oluşturulan temel yapı, küresel telekomünikasyon numaralandırmasının temeli olmaya devam ediyor.
Sık Sorulan Sorular
Test için rastgele telefon numarası nasıl oluşturulur?
Açılır menülerden hedef ülkenizi ve bölgenizi seçin, mobil veya sabit hat formatını tercih edin ve "Telefon Numarası Oluştur" düğmesine tıklayın. Araç, o ülkenin biçimlendirme kurallarına uygun yapısal olarak geçerli bir numara oluşturur. Uluslararası format (ülke kodu ile) ve yerel format arasında geçiş yapabilirsiniz.
Birden fazla senaryoyu test etmek için, farklı ayarlarla birkaç numara oluşturun—bu, yalnızca belirli formatlarda ortaya çıkan doğrulama hatalarını yakalamaya yardımcı olur.
Bunlar arama veya mesaj alabilecek gerçek telefon numaraları mı?
Hayır. Oluşturulan numaralar doğru biçimlendirme desenlerini izler ancak rastgele oluşturulmuştur ve gerçek abonelere atanmamıştır. Bunlar doğrulama mantığını test etmek, veritabanlarını doldurmak ve yazılımı göstermek için tasarlanmıştır—gerçek telekomünikasyon için değil.
Önemli: Bu numaraları gerçek aramalar veya mesajlar için kullanmayın. Bunlar gerçek insanlara ait olabilir veya atanmamış olabilir.
Uluslararası ve yerel telefon numarası formatı arasındaki fark nedir?
Uluslararası format artı işaretli ülke kodunu içerir: +52 55 1234 5678 (Meksika). Bu, küresel telekomünikasyonda kullanılan E.164 standardıdır.
Yerel format ülke içinde nasıl aranacağını gösterir: 55 1234 5678 (Meksika). Ülke kodunu atlar çünkü yerel aramalar için gerekli değildir.
Uluslararası kullanıcılara hizmet veren uygulamaları test ederken her iki formatı da doğrulayın. Kullanıcılar numaraları tutarsız girerler—bazıları "+1 555..." yapıştırır, diğerleri "(555)..." yazar. Sağlam bir doğrulayıcı her ikisini de işler.
Neden farklı ülkelerin farklı telefon numarası formatları vardır?
Her ülke numaralandırma planını bağımsız olarak geliştirdi, nüfus büyüklüğünden, coğrafi bölümlerden ve telefon altyapısını ne zaman kurduklarından etkilendi. ABD 1947'de Kuzey Amerika Numaralandırma Planını 3-3-4 basamak deseniyle benimsedi. Birleşik Krallık değişken uzunluklu coğrafi kodlar kullanır. Hindistan, devasa nüfusunu karşılamak için 10 basamaklı mobil numaraları standartlaştırdı.
Uluslararası Telekomünikasyon Birliği'nin E.164 standardı bir çerçeve sağlar, ancak ülkeler bunu kendi ihtiyaçlarına göre farklı şekillerde uygular. Bu yüzden telefon doğrulaması karmaşıktır—tüm ülkeler için tek bir regex deseni kullanamazsınız.
Oluşturulan telefon numaralarını üretim uygulamamamda kullanabilir miyim?
Yalnızca geliştirme ve test için kullanın. Bunları üretim veritabanlarında gerçek kullanıcı verisi olarak saklamayın. İşte nedenleri:
- Tesadüfen gerçek atanmış numaralarla eşleşebilirler
- Doğrulama kodları veya aramalar alamazlar
- Kullanıcılar hesap profillerinde bu numaraları görünce karışırlar
Üretim testi için (hazırlık ortamları gibi), bunun yerine SMS veya ses sağlayıcınızdan özel test numaraları kullanın.
Telefon numarası doğrulaması nasıl çalışır?
Doğrulama, ülkeye özgü kurallara göre yapısal doğruluğu kontrol eder:
- Uzunluk doğrulaması: ABD numaraları 10 basamak olmalı, Birleşik Krallık mobilleri 10-11 basamaktır
- Önek kontrolü: Birleşik Krallık mobilleri 7 ile başlar, Meksika mobilleri belirli alan kodları kullanır
- Desen eşleştirme: Regex desenleri doğru gruplandırmayı ve formatı sağlar
Doğrulama şunları yapmaz: bir numaranın şu anda hizmette olup olmadığını doğrulamak, operatörü belirlemek veya mesaj alıp alamayacağını kontrol etmek. Bunun için Twilio'nun Lookup API'si gibi hizmetler veya libphonenumber entegrasyonu gerekir.
Bu araç oluşturulan telefon numaralarımı kaydeder veya depolar mı?
Hayır. Tüm oluşturma tarayıcınızda gerçekleşir. Hiçbir şey sunucuya gönderilmez veya herhangi bir yerde depolanmaz. Bir numara oluşturduğunuzda, yalnızca mevcut oturumunuzda var olur. Sayfayı yenilerseniz kaybolur.
Bu, harici bilgi gönderemediğiniz güvenli ortamlarda test verileriyle çalışmak için güvenli bir araç yapar.
Kendi kodumda telefon numaralarını nasıl doğrularım?
Yukarıdaki uygulama örnekleri farklı dillerdeki doğrulama desenlerini gösterir. Temel yaklaşım:
- Desteklediğiniz her ülke için regex desenleri tanımlayın
- Girişi normalize edin (boşlukları, parantezleri, kısa çizgileri kaldırın)
- Temizlenmiş numaranın desenlerinizle eşleşip eşleşmediğini kontrol edin
- Üretim için libphonenumber kullanmayı düşünün—özel regex'ten daha iyi kenar durumları işler
Yaygın hata: Girişi ilk önce normalize etmeden formatı doğrulamak. Kullanıcılar "+1 (555) 123-4567", "1-555-123-4567" ve "15551234567" girerek hepsinin çalışmasını bekler. Doğrulayıcınız tüm varyantları işleyebilmelidir.
Referanslar
-
Uluslararası Telekomünikasyon Birliği (ITU). "E.164: Uluslararası Kamu Telekomünikasyon Numaralandırma Planı." ITU
-
Kuzey Amerika Numaralandırma Planı İdaresi. "Kuzey Amerika Numaralandırma Planı Hakkında." NANPA
-
Ofcom (Birleşik Krallık). "Telefon Numaraları - Ulusal Telefon Numaralandırma Planı." Ofcom
-
Telekomünikasyon Bakanlığı, Hindistan Hükümeti. "Ulusal Numaralandırma Planı." DoT Hindistan
-
Federal Telekomünikasyon Enstitüsü (Meksika). "Ulusal Numaralandırma Planı." IFT Meksika
-
Google'ın libphonenumber kütüphanesi. "Telefon Numarası Ayrıştırma, Biçimlendirme ve Doğrulama." GitHub Deposu
-
Dünya Telefon Numaralandırma Kılavuzu. "Uluslararası Arama Kodları ve Bilgileri." WTNG
Test Telefon Numaraları Oluşturmaya Başlayın
Bir sonraki test oturumunuz için geçerli telefon numaralarına mı ihtiyacınız var? Ülkenizi seçin, mobil veya sabit hat tercih edin ve gerçek dünya desenlerine uyan düzgün biçimlendirilmiş numaralar oluşturun. Araç, uluslararası standartların karmaşıklığını hallederken arayüzü basit tutuyor—hesap yok, API anahtarı yok, sadece anında sonuçlar.
Doğrulama mantığını test eden geliştiriciler, test ortamlarını dolduran kalite güvence ekipleri veya gerçekçi telefon numarası örneklerine ihtiyaç duyanlar için mükemmel.