İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Telefon Numarası Kontrolü – REGEX Sınıfı

C# Telefon Numarası Kontrolü – REGEX Sınıfı
+ - 5

C# Telefon Numarası Kontrolü – REGEX Sınıfı , yazım ile c sharp eğitim setimize devam edelim. Bir süredir işlerimin yoğun olmasından dolayı yazı yazamıyordum. Bu işlerim arasında bu dersin konusu gerek oldu. İşlerim bugün biraz sakinleştiğinden hemen yazımı yazayım dedim. Bu dersimizde kullanıcının textbox’a yazacağı telefon numarasını istediğimiz bir formatta yazmaya zorlamış olacağız. Kullanıcının yazdığı metin bir telefon numarası değil ise bir uyarı vermesini isteyeceğiz. Gelin C# Telefon Numarası Kontrolü – REGEX Sınıfı yazımıza geçelim.

C# Telefon Numarası Kontrolü – REGEX Sınıfı

Regex (Regular Expression) , istediğim verilerin bir düzene uygun olmasını sağlamak için kullanırız. Buna telefon, mail adresi vs tüm bilgiler geçerlidir. Biz bir format belirleriz ve kullanıcı o formatın dışında bir şey yazamaz. Regex en basit anlatımı ile bu şekildedir.

Bu dersimizde birkaç farklı telefon yazım formatını sizlere anlatacağım.

Bu işlem için aşağıdaki namespace’i eklememiz gerekiyor.

using System.Text.RegularExpressions;

C# Telefon Numarası Kontrolü

Format 1 : 0xxx-xxx-xx-xx (0533-222-11-00)

Öncelikle şöyle bir metod yapalım.

public static bool TelefonFormatKontrol(string Telefon)
{
    string RegexDesen  = @"^(0(\d{3})-(\d{3})-(\d{2})-(\d{2}))$";
    Match Eslesme = Regex.Match(Telefon, RegexDesen, RegexOptions.IgnoreCase);
    return Eslesme.Success; // bool değer döner
}

Buradan dönen değeri kaydetme işleminden önce kontrol ettirebilirsiniz. Örneğin;

private void btn_kaydet_Click(object sender, EventArgs e)
{
    bool TelefonDogruMu = TelefonFormatKontrol(txt_telefon.Text);
    if (TelefonDogruMu == true)
    {
        // kaydetme işlemlerlerinizi yapabilirsiniz.
    }
    else
    {
        MessageBox.Show("Telefon numarası hatalıdır. Lütfen kontrol ediniz.");
    }
}

 

Format 2 : 0xxx xxx xx xx

Yukarıdaki işlemleri aynen tekrar kullanalım. Sadece  desenimiz değişecek,

public static bool TelefonFormatKontrol(string Telefon)
{
    string RegexDesen  = @"^(0(\d{3}) (\d{3}) (\d{2}) (\d{2}))$";
    Match Eslesme = Regex.Match(Telefon, RegexDesen, RegexOptions.IgnoreCase);
    return Eslesme.Success; // bool değer döner
}

Gördüğünüz gibi, bu sefer desenimizi değiştirdik. Geri kalan kısımlar sorunsuz çalışır. Şimdi de başka bir formata göz atalım.

 

Format 3 : 05xxxxxxxxx

Bu formatımızda da gördüğünüz gibi boşluk yada tre karakteri yok. Hepsi bitişik olacak ve diğerlerinden farklı olarak telefon numarasının “05” ile başlamasını isteyeceğiz.

public static bool TelefonFormatKontrol(string Telefon)
{
    string RegexDesen  = @"^(05(\d{9}))$";
    Match Eslesme = Regex.Match(Telefon, RegexDesen, RegexOptions.IgnoreCase);
    return Eslesme.Success; // bool değer döner
}

Diğerlerine göre çok daha kısa bir desenimiz var. Desene baktığımızda “05” yazan kısım sabit olacak ve sonrasında da 9 karakter olacak diye diye şart koştuk. Girilen veri bu koşula uyuyorsa true değer döner.

Ben kendi formatımı yazmak istiyorum derseniz ise şu siteye göz atabilirsiniz. Bu sitede kendi regex deseninizi hazırlayabilir yada başka yerlerden bulduğunuz bir deseni kendinize göre uyarlayabilirsiniz.

 


Başka bir dersimiz de de mail adresi format kontrolünün nasıl olduğuna bakacağız.  C# Telefon Numarası Kontrolü – REGEX Sınıf  dersimizde bu kadar dostlar,

C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız. Buraya tıklayarak Github Projeme ulaşabilirsiniz.

Sağlıcakla ve takipte kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (5)

  1. 6 sene önce

    Kardeşim link vermişsin basınca yeni sekmede açılmıyor sağ tık yapıp açayım diyorum onu da engellemişsin .

    • CTRL + Mouse Sol click yaptığında yeni sekmede açabilirsin kardeşim. Ama ona gerek kalmadan linkleri yan sekmede açılacak şekilde yaparım. ^^
      Yada Maouse tekerleği ile tıklarsan da yan sekmede açılır.

  2. Teşekkürler, çok yardımcı oldu,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.