İçeriğe geç
ToolMug

Yaygın Regex Kalıpları

Günlük doğrulamalar için hazır düzenli ifadeler: e-posta, URL, alan adı, IPv4 ve MAC adresleri, tam sayılar, ondalık ve para tutarları, tarihler, saatler, kullanıcı adları, güçlü parolalar, hex renkleri, UUID ve anlamsal sürümler; ayrıca Çin telefon, kimlik ve posta kodu biçimleri. Her kalıp açıklama, eşleşen ve eşleşmeyen örnekler içerir; tek tıklamayla kopyalayın veya kutuda test edin.

Tarayıcınızda çalışır — girdiğiniz hiçbir şey yüklenmez

  • E-posta adresi

    Nokta, artı işareti ve çok düzeyli alan adları içeren yaygın e-posta biçimi

    /^[\w.+-]+@[\w-]+(\.[\w-]+)+$/

    ✓ name@example.com a.b+tag@mail.co.uk✗ name@ @example.com a b@example.com

  • URL (http/https)

    http:// veya https:// ile başlar ve boşluk içermez

    /^https?:\/\/[^\s/$.?#][^\s]*$/i

    ✓ https://example.com/path?q=1 http://localhost:8080✗ ftp://example.com example.com https:// bad

  • Alan adı

    Harf, rakam ve kısa çizgilerden oluşan çok düzeyli alan adı

    /^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/

    ✓ example.com sub.example.co.uk✗ -bad.com example exa_mple.com

  • IPv4 adresi

    Baştaki sıfırlar olmadan 0–255 arası dört sayı

    /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/

    ✓ 192.168.1.1 8.8.8.8 255.255.255.0✗ 256.1.1.1 1.2.3 01.2.3.4

  • MAC adresi

    İki nokta veya kısa çizgiyle ayrılmış altı hex basamak çifti

    /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/

    ✓ 00:1A:2B:3C:4D:5E 00-1a-2b-3c-4d-5e✗ 001A2B3C4D5E 00:1A:2B:3C:4D

  • Çin cep telefonu

    +86 olmadan 13–19 ile başlayan 11 basamak

    /^1[3-9]\d{9}$/

    ✓ 13800138000 19912345678✗ 12345678901 1380013800 +8613800138000

  • Çin sabit telefonu

    İsteğe bağlı kısa çizgiyle ayrılan alan kodu ve numara

    /^0\d{2,3}-?\d{7,8}$/

    ✓ 010-12345678 0755-1234567 02112345678✗ 12345678 010-123

  • Çin kimlik kartı (18 basamak)

    Bölge kodu uzunluğunu ve doğum tarihini kontrol eder; son karakter X olabilir. Kontrol toplamı doğrulanmaz.

    /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/

    ✓ 11010519491231002X 440308199901010012✗ 11010519491331002X 1101051949123100

  • Çin posta kodu

    Altı basamak

    /^\d{6}$/

    ✓ 100000 010000✗ 10000 1000000

  • Çin plaka

    Normal plakalar için 7, yeni enerjili araçlar için 8 karakter

    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/

    ✓ 京A12345 粤BD12345 沪A1234学✗ 京12345 京AI2345

  • Yalnızca Çince karakterler

    Yaygın CJK ideogramları

    /^[\u4e00-\u9fa5]+$/

    ✓ 中文 正则表达式✗ 中文abc

  • QQ numarası

    0 ile başlamayan 5–11 basamak

    /^[1-9]\d{4,10}$/

    ✓ 10001 123456789✗ 01234 1234

  • Banka kartı numarası

    16–19 basamak; geçerlilik için Luhn kontrolü de gerekir

    /^[1-9]\d{15,18}$/

    ✓ 6222021234567890123 4111111111111111✗ 0222021234567890 622202123456

  • Tam sayı

    Negatif olabilir

    /^-?\d+$/

    ✓ 0 -42 12345✗ 1.5 1e3

  • Pozitif tam sayı

    Baştaki sıfır yok

    /^[1-9]\d*$/

    ✓ 1 100✗ 0 01 -1

  • Ondalık sayı

    Negatif olabilir, noktanın iki yanında da basamak bulunur

    /^-?\d+(?:\.\d+)?$/

    ✓ 3.14 -0.5 42✗ .5 1. 1,000

  • Para tutarı

    En fazla iki ondalıkla negatif olmayan sayı

    /^(?:0|[1-9]\d*)(?:\.\d{1,2})?$/

    ✓ 0 99.9 1234.56✗ 01.00 1.234 -1

  • Tarih (YYYY-MM-DD)

    Ay 01–12, gün 01–31; ay uzunlukları kontrol edilmez

    /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/

    ✓ 2026-09-26 1999-12-31✗ 2026-13-01 2026-9-26 26-09-2026

  • Saat (HH:MM[:SS])

    24 saatlik saat, saniye isteğe bağlı

    /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/

    ✓ 09:30 23:59:59✗ 24:00 9:30 12:60

  • Kullanıcı adı

    Harfle başlar; 4–16 harf, rakam veya alt çizgi

    /^[a-zA-Z][a-zA-Z0-9_]{3,15}$/

    ✓ alice_01 Bob2026✗ 1alice ab bad-name

  • Güçlü parola

    Büyük ve küçük harf, rakam ve simge içeren en az 8 karakter

    /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$/

    ✓ Passw0rd! Aa1@aaaa✗ password Password1 Aa1@

  • Hex rengi

    #RGB veya #RRGGBB

    /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/

    ✓ #fff #0F766E✗ fff #ffff #12345g

  • UUID

    Standart UUID biçimi (1–8 sürümleri)

    /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

    ✓ 123e4567-e89b-42d3-a456-426614174000✗ 123e4567-e89b-42d3-c456-426614174000 123e4567e89b42d3a456426614174000

  • Anlamsal sürüm

    İsteğe bağlı ön sürüm ve derleme üst verisiyle MAJOR.MINOR.PATCH

    /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?(?:\+[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?$/

    ✓ 1.0.0 2.1.3-beta.1+build.5✗ 1.0 01.0.0 v1.0.0

  • HTML etiketi çifti

    Eşleşen açılış ve kapanış etiketlerini bulur, etiket adını ve içeriği yakalar

    /<([a-zA-Z][\w-]*)\b[^>]*>([\s\S]*?)<\/\1>/g

    ✓ <b>bold</b> <a href="#">link</a>✗ <b>unclosed plain text

  • Boş satır

    m bayrağıyla boş veya yalnızca boşluk içeren satırları bulur; örneğin kaldırmak için

    /^\s*$/m

    ✓ ✗ text

Kalıplar JavaScript sözdizimini kullanır ve Java, Python ve Go gibi çoğu dilde çalışır (ters eğik çizgi kaçışlarına dikkat edin). Yalnızca biçimi kontrol eder; kimlik veya kart numarasının gerçekliği için kontrol toplamı veya resmî doğrulama gerekir.

Nasıl kullanılır

  1. Bir biçim arayın veya kategoriye göre filtreleyin.
  2. Kalıbı almak için “Kopyala”ya tıklayın; bir dizeye koyarken ters eğik çizgileri kaçışlayın.
  3. Eşleşip eşleşmediğini anında görmek için kartın altındaki kutuya yazın.

Seçeneklerin açıklaması

Sözdizimi
JavaScript için yazılmıştır ve Java, Python, Go ve PHP gibi çoğu dille uyumludur; dize değişmezlerinde ters eğik çizgileri iki kez yazın.
Tüm dize eşleşmesi
Doğrulama kalıpları ^ ve $ ile sabitlenir; böylece tüm girdi eşleşmelidir. Daha uzun metinde aramak için sabitleyicileri kaldırıp g bayrağını ekleyin.
Biçim ve geçerlilik
Kalıp yalnızca biçimi kontrol eder. Bir kimlik veya kart numarasının gerçek olup olmadığını kontrol toplamı ya da resmî doğrulama gösterir.

Bir kalıp nasıl kurulur: IPv4 örneği

IPv4 kalıbı, bir doğrulama regex’inin olağan yapısını gösterir. Bir sekizli (octet), sırayla denenen dört alternatif olarak yazılır; böylece her biri yalnızca 0–255’i kabul eder:

25[0-5]      250–255
2[0-4]\d     200–249
1\d\d        100–199
[1-9]?\d     0–99, with no leading zero

Kalıbın tamamı (octet\.){3}octet olup ^ ve $ ile sabitlenmiştir. Bu yüzden 192.168.1.1 eşleşirken 256.1.1.1, 01.2.3.4 ve 1.2.3 eşleşmez.

Biçim geçerlilik demek değildir

Bir kalıp yalnızca biçimi denetler. Tarih kalıbı her ayda 30. güne izin verdiği için 2026-02-30 değerini kabul eder; 13. ay olmadığı için 2026-13-01 değerini reddeder. Gerçek tarihler için, regex denetiminden sonra değeri dilinizin tarih kütüphanesiyle ayrıştırın.

Sıkça sorulan sorular

E-posta regex’i neden tam RFC uyumlu değil?

RFC 5322’ye tamamen uyan bir regex çok büyüktür ve az sayıda gerçek hatayı reddeder. Hoşgörülü bir kontrol kullanıp adresi doğrulama e-postasıyla onaylayın.

Daha karmaşık bir regex’te hata ayıklamayı nasıl yaparım?

Her eşleşmeyi ve grubu vurgulayan, değiştirmeleri de test edebilen regex testçisini kullanın.

Bu kalıplar Unicode destekliyor mu?

Çoğu ASCII girdiyi hedefler. Her yazı sistemindeki harfleri kabul etmeniz gerekiyorsa u bayrağını ve \p{L} gibi Unicode özellik kaçışlarını ekleyin.

Gizlilik

Bu araç tamamen tarayıcınızda çalışır. Dosyalarınız ve metinleriniz cihazınızda işlenir, sunucularımıza asla yüklenmez.

İlgili araçlar