Sık Kullanılan Regular Expression'lar
Önceki yazımda size Regular Expressionlar ve kullanımları hakkında bilgi vermeye çalıştım. Bu yazımda ise
sıklıkla kullanılan bazı patternleri paylaşmak istiyorum.
Regex'lerin kullanıcının girdiği verinin tutarlılığını sağlamakta çok önemli olduğunu belirtmek isterim. Ayrıca bir metin içerisinde bellirlenen bir şablona uyan kelimeleri seçmek içinde biçilmiş kaptandır.
Örneğin; bir metin dosyası içerisindeki eposta adreslerini arıyorsanız eposta regex'ini kullanarak çok kolay bir biçimde bulabilirsiniz. Aynı örnekten devam etmek gerekirse kullanıcıdan eposta adresini girmesini istiyorsanız yine regexler işinizi görecektir. Böylece kullanıcı geçerli olmayan bir eposta adresini giremeyecektir. Buda hatayı en aza indirgeyip veri tutarlılığını arttıracaksınız demek oluyor.
Sıklıkla Kullanılan Regular Expression'lar
Regex'lerin kullanıcının girdiği verinin tutarlılığını sağlamakta çok önemli olduğunu belirtmek isterim. Ayrıca bir metin içerisinde bellirlenen bir şablona uyan kelimeleri seçmek içinde biçilmiş kaptandır.
Örneğin; bir metin dosyası içerisindeki eposta adreslerini arıyorsanız eposta regex'ini kullanarak çok kolay bir biçimde bulabilirsiniz. Aynı örnekten devam etmek gerekirse kullanıcıdan eposta adresini girmesini istiyorsanız yine regexler işinizi görecektir. Böylece kullanıcı geçerli olmayan bir eposta adresini giremeyecektir. Buda hatayı en aza indirgeyip veri tutarlılığını arttıracaksınız demek oluyor.
Sıklıkla Kullanılan Regular Expression'lar
Adı | : | Telefon No |
Regex Kodu | : | [2-9][0-9]{6} |
Açıklaması | : | Telefon Numarası. İlk rakamı en az 2 ile başlayan toplam 7 rakamdan oluşan ifade |
Adı | : | Telefon No Alan Kod |
Regex Kodu | : | [1-9][0-9]{2} |
Açıklaması | : | Alan Kodu. Türkiye alan kodu deseni.3 rakamdan oluşur. ilk rakam 1'den başlar. |
Adı | : | Kur ve Parite |
Regex Kodu | : | (0|[1-9]\d{0,2}|([1-9]\d{0,2}(\,\d{3})+))\.\d{6} |
Açıklaması | : | Kur ve parite girişleri için 6 ondalıklı format |
Adı | : | Tutar |
Regex Kodu | : | (0|[1-9]\d{0,2}|([1-9]\d{0,2}(\.\d{3})+))\,\d{2} |
Açıklaması | : | Tutar girişleri için format. Binlik ayraç olarak "." , ondalık ayraç için "," kullanılmıştır. Her binlik grup için "." desenini arar ama bu zorunlu karakter değildir. Ondalıklı kısım iki basamak olacak şekilde sınırlandırılmıştır. |
Adı | : | Küçük Harf |
Regex Kodu | : | [a-z]* |
Açıklaması | : | alfabetik yalnızca küçük harf deseni |
Adı | : | 24 Saat |
Regex Kodu | : | ([0-1][0-9]|2[0-3]):([0-5][0-9]) |
Açıklaması | : | dd:ss stilinde saat girişi (24 saat) |
Adı | : | Yüzdelik Oran (0-100 Arası) |
Regex Kodu | : | 100|([1-9]?[0-9]{1}) |
Açıklaması | : | Yüzde üzerinden oran belirtmek gerekirse kullanılabilir .0-100 arası rakam girişine izin verir. |
Adı | : | Nufus Cüzdan No |
Regex Kodu | : | [A-Z0-9]{3}-[0-9]{6} |
Açıklaması | : | Nüfus Cuzdan Sıra ve Seri No |
Adı | : | Nufus Cuzdan Cilt No |
Regex Kodu | : | [0-9]{1,4} |
Açıklaması | : | 4 haneye kadar nümerik |
Adı | : | Ehliyet No |
Regex Kodu | : | [0-9]{1,10} |
Açıklaması | : | 10 haneye kadar nümerik |
Adı | : | EPosta |
Regex Kodu | : | [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4} |
Açıklaması | : | Standart eposta validasyon |
Adı | : | Türkiye Yurtiçi Telefon-Faks |
Regex Kodu | : | ([1-9][0-9]{2})([1-9][0-9]{6}) |
Açıklaması | : | Yurt içi Telefon ve Faks Patterni |
Adı | : | Sadece Sayısal |
Regex Kodu | : | [0-9]* |
Açıklaması | : | Sınırsız sayıda sadece rakamlar girilebilir |
Adı | : | Ondalıklı Değer |
Regex Kodu | : | (\+|-)?[0-9]{1,3}(\R.[0-9]{2})? |
Açıklaması | : | Oran girişlerinde kullanılır.3 tamsayı, 2 ondalık biçinde girişe izin verir. Negatif değere de izin verir |
Anahtar Kelimeler:
Regex, regular expression, düzenli ifadeler, desen, telefon no, tc kimlik no, para formatı, currency,
saat deseni, giriş zorlama, textbox giriş zorlama, string formatlama
Hocam ne diyim, ellerine sağlık..
YanıtlaSilnette pek çok konu var bu konuda, ama sıkışınca en acilinden senin sayfadan işimi hallediyorum.
kolay gelsin..
Anahtar kelimelere Tc Kimlik No yazmışsın ama paylaşılanlarda yok nedense.
YanıtlaSil^[1-9]{1}[0-9]{9}[0,2,4,6,8]{1}$
YanıtlaSilOndalıklı değer için ezbere sizin sayfanızdan aldım formatı fakat küsürat yerine tam sayı döndürüyordu her seferinde. Bende R'yi çıkardım düzeldi.
YanıtlaSilYani (\+|-)?[0-9]{1,3}(\R.[0-9]{2})? olan formatı (\+|-)?[0-9]{1,3}(\.[0-9]{2})? yapınca sorunsuz çalıştı.