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

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

18 Temmuz 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 47
Yaklaşık okuma süresi : 3 DK
C# E-Mail Kontrolü - Net.Mail Sınıfı
C# String İçerisinde Çift Tırnak ve BackSlash
C# Telefon Numarası Kontrolü – REGEX Sınıfı
5 (100%) 1 Oy

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.

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

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

C# E-Mail Kontrolü - Net.Mail Sınıfı
C# String İçerisinde Çift Tırnak ve BackSlash