Türkçe Kullanım İçin Hazır Regex Örnekleri
TC kimlik no, telefon, e-posta ve IBAN gibi Türkiye'ye özgü alanları doğrulamak için sürekli aynı regex kalıplarını arıyorsanız, bu yazı tam size göre. Aşağıda kopyala-yapıştır hazır 7 kalıp, her birinin ne zaman yeterli ne zaman yetersiz kaldığı ve gözden kaçan bir checksum tuzağı var.
Hazır Türkçe regex kalıpları — özet tablo
^[1-9][0-9]{10}$), telefon (^(?:\+90|0)?\s?5\d{2}\s?\d{3}\s?\d{2}\s?\d{2}$), e-posta (^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$), IBAN (^TR\d{24}$), plaka, posta kodu (^\d{5}$) ve güçlü şifre. Bu desenler yalnızca biçimi kontrol eder; TC kimlik ve IBAN gibi alanların gerçek geçerliliği ayrı bir checksum algoritması gerektirir.
| Format | Regex | Not |
|---|---|---|
| TC Kimlik No | ^[1-9][0-9]{10}$ | Yalnızca biçim, checksum yok |
| TR Telefon (cep) | ^(?:\+90|0)?\s?5\d{2}\s?\d{3}\s?\d{2}\s?\d{2}$ | 0/+90 opsiyonel |
| E-posta | ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ | Basitleştirilmiş, çoğu form için yeterli |
| IBAN (TR) | ^TR\d{24}$ | Yalnızca uzunluk, MOD97 yok |
| Plaka | ^(0[1-9]|[1-7][0-9]|8[01])\s?[A-PR-VYZ]{1,3}\s?\d{2,4}$ | 01-81 il kodu aralığı |
| Posta Kodu | ^\d{5}$ | 5 haneli, il/ilçe kontrolü yok |
| Güçlü Şifre | ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$ | 4 koşullu lookahead |
Tüm desenleri Regex Test Aracı'ndaki hazır şablon butonlarından tek tıkla yükleyip kendi verilerinizle deneyebilirsiniz.
TC kimlik no regex'i nasıl yazılır?
^[1-9][0-9]{10}$ deseni TC kimlik numarasının biçimini doğrular: tam 11 hane, ilk hane 0 olamaz. Gerçek geçerlilik için 10. ve 11. hanelerin mod-10/mod-11 algoritmasıyla hesaplanması gerekir; bu, regex ile yapılamaz.
Desen parça parça: ^ metin başlangıcı, [1-9] ilk hanenin 1-9 arası olmasını (0 hariç) zorunlu kılar, [0-9]{10} ardından tam 10 rakam daha ister, $ metnin burada bitmesini şart koşar. "12345678901" gibi rastgele 11 rakamlık bir dizi bu deseni geçer ama gerçek bir TC kimlik numarası değildir — bu yüzden formlarda yalnızca ön-eleme (11 hane var mı, 0 ile mi başlıyor) için kullanılmalı, kesin doğrulama TC/IBAN Doğrulama aracı gibi algoritmik bir araçla yapılmalıdır.
Türkiye telefon numarası regex'i nasıl yazılır?
^(?:\+90|0)?\s?5\d{2}\s?\d{3}\s?\d{2}\s?\d{2}$ deseni +90 veya 0 ile başlayan/başlamayan, boşluklu/boşluksuz 05XX XXX XX XX biçimindeki cep telefonu numaralarını yakalar.
Bu desende (?:\+90|0)? yakalamayan bir grup içinde "+90 VEYA 0, ya da hiçbiri" seçeneğini opsiyonel (?) olarak sunar. Her \s? aradaki boşluğun olabileceğini ama zorunlu olmadığını belirtir — böylece hem "05551234567" hem "0555 123 45 67" hem de "+90 555 123 45 67" eşleşir. Sabit hat numaraları (0212, 0312 gibi) için ilk hane 5 yerine [234] olacak şekilde uyarlanmalıdır; operatör bazlı doğrulama (hangi 5XX'in hangi operatöre ait olduğu) regex'in kapsamı dışındadır.
\d{10}$ gibi tek bloklu bir desen kullanıp kullanıcıların gerçek hayatta girdiği boşluklu/tireli biçimleri reddetmektir. Formlarda kullanıcı deneyimini bozmamak için ya \s?/-? ile opsiyonel ayraçlara izin verin, ya da girdiyi regex'ten önce boşluk/tireleri temizleyen basit bir ön-işlemden geçirin.
E-posta regex'i nasıl yazılır?
^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ deseni kullanıcı adında harf/rakam/alt çizgi/nokta/artı/tire, @'dan sonra alan adı ve en az iki harften oluşan bir uzantı arar. Tam RFC 5322 uyumlu bir e-posta regex'i çok daha karmaşıktır.
Pratikte "kesin doğru" bir e-posta regex'i yazmak zordur; RFC 5322 standardının tam karşılığı yüzlerce karakterlik, okunması neredeyse imkânsız bir desendir. Bu yüzden çoğu üretim sistemi yukarıdaki gibi basitleştirilmiş bir desenle biçimi ön-elemeden geçirir ve gerçek doğrulamayı e-postaya bir onay bağlantısı göndererek yapar — çünkü biçimsel olarak geçerli bir adresin gerçekten var olduğunu regex hiçbir zaman garanti edemez.
Bu kalıpları kendi verinizle deneyin
Regex Test Aracı'nda 7 hazır Türkçe şablonu tek tıkla yükleyin, kendi test metninizle eşleşmeleri, yakalama gruplarını ve olası hataları anında görün.
Regex Test Aracını Aç →IBAN regex'i nasıl yazılır?
^TR\d{24}$ deseni kullanılır: TR ile başlayan, ardından 24 rakam gelen toplam 26 karakterlik bir dizi. Bu yalnızca uzunluk ve ülke kodunu kontrol eder; gerçek geçerlilik ISO 7064 MOD97-10 algoritmasıyla doğrulanır.
IBAN'ın son iki karakteri ("TR" dan sonraki ilk 2 rakam), IBAN'ın geri kalanının belirli bir matematiksel işlemden geçirilmesiyle hesaplanan bir kontrol basamağıdır. Regex bu hesaplamayı yapamaz; yalnızca "TR ile başlayıp toplam 26 karakter mi" sorusuna cevap verir. Gerçek bir IBAN'ın var olup olmadığını (checksum + banka kodu) doğrulamak için algoritmik bir hesaplayıcı gereklidir.
Plaka, posta kodu ve güçlü şifre regex'i
^(0[1-9]|[1-7][0-9]|8[01])\s?[A-PR-VYZ]{1,3}\s?\d{2,4}$ (01-81 il kodu + harf + rakam). Posta kodu: ^\d{5}$ (5 haneli). Güçlü şifre: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$ (küçük+büyük harf+rakam+özel karakter, en az 8 hane).
Plaka deseninde harf kümesi bilerek [A-PR-VYZ] şeklinde daraltılmıştır — Türkiye plakalarında I, O, Q, Ü, Ğ, Ş, Ç gibi harfler kullanılmaz, bu yüzden [A-Z] yerine bu harfleri dışlayan bir küme kullanmak yanlış pozitifleri önler. Şifre deseninde ise dört ayrı (?=...) ileri bakış (lookahead) bloğu, sırayla küçük harf, büyük harf, rakam ve özel karakter varlığını karakter tüketmeden kontrol eder; sonda .{8,} toplam uzunluğu garanti eder.
Sık sorulan sorular
TC kimlik no regex nasıl yazılır?
^[1-9][0-9]{10}$ kullanılır: 11 haneli, ilk hane 0 olamaz. Gerçek geçerlilik mod-10/mod-11 algoritması gerektirir, regex ile doğrulanamaz.Türkiye telefon numarası regex'i nasıl yazılır?
^(?:\+90|0)?\s?5\d{2}\s?\d{3}\s?\d{2}\s?\d{2}$ deseni +90/0 önekli veya öneksiz, boşluklu veya boşluksuz 05XX XXX XX XX biçimlerini yakalar.E-posta regex örneği nedir?
^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ pratik bir e-posta doğrulama desenidir. Tam RFC 5322 uyumu için çok daha karmaşık bir desen gerekir; çoğu form için bu yeterlidir.IBAN regex'i nasıl yazılır?
^TR\d{24}$ kullanılır. Bu yalnızca uzunluğu kontrol eder; gerçek geçerlilik MOD97-10 checksum algoritmasıyla doğrulanır.Güçlü şifre regex'i nasıl yazılır?
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$ deseni en az 8 karakter, küçük+büyük harf, rakam ve özel karakter zorunluluğu ekler. Her koşul ayrı bir lookahead ile kontrol edilir.