Langkau ke kandungan
ToolMug

Corak Regex Biasa

Gunakan ungkapan nalar sedia ada untuk pengesahan harian — e-mel, URL, domain, alamat IPv4 dan MAC, integer, perpuluhan dan amaun wang, tarikh, masa, nama pengguna, kata laluan kukuh, warna heks, UUID dan versi semantik, termasuk format telefon, ID dan poskod China.

Berjalan dalam pelayar anda — apa yang anda masukkan tidak dimuat naik

  • Alamat e-mel

    Format e-mel biasa dengan titik, tanda tambah dan domain berbilang peringkat

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

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

  • URL (http/https)

    Bermula dengan http:// atau https:// dan tiada ruang

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

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

  • Nama domain

    Domain berbilang peringkat dengan huruf, digit dan tanda sempang

    /^(?=.{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

  • Alamat IPv4

    Empat nombor daripada 0 hingga 255 tanpa sifar di hadapan

    /^(?:(?: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

  • Alamat MAC

    Enam pasangan digit heks yang dipisahkan dengan titik bertindih atau tanda sempang

    /^(?:[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

  • Nombor mudah alih China

    11 digit bermula dengan 13–19, tanpa +86

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

    ✓ 13800138000 19912345678✗ 12345678901 1380013800 +8613800138000

  • Talian tetap China

    Kod kawasan dan nombor, boleh dipisahkan dengan tanda sempang

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

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

  • Kad pengenalan China (18 digit)

    Menyemak panjang kod wilayah dan tarikh lahir; aksara terakhir boleh jadi X. Jumlah semak tidak disahkan.

    /^[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

  • Poskod China

    Enam digit

    /^\d{6}$/

    ✓ 100000 010000✗ 10000 1000000

  • Plat nombor China

    7 aksara untuk plat biasa, 8 untuk kenderaan tenaga baharu

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

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

  • Aksara Cina sahaja

    Ideograf CJK biasa sahaja

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

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

  • Nombor QQ

    5–11 digit, tidak bermula dengan 0

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

    ✓ 10001 123456789✗ 01234 1234

  • Nombor kad bank

    16–19 digit; kesahihan turut memerlukan semakan Luhn

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

    ✓ 6222021234567890123 4111111111111111✗ 0222021234567890 622202123456

  • Integer

    Boleh negatif

    /^-?\d+$/

    ✓ 0 -42 12345✗ 1.5 1e3

  • Integer positif

    Tiada sifar di hadapan

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

    ✓ 1 100✗ 0 01 -1

  • Nombor perpuluhan

    Boleh negatif, dengan digit pada kedua-dua belah titik

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

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

  • Amaun wang

    Tidak negatif dengan sehingga dua tempat perpuluhan

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

    ✓ 0 99.9 1234.56✗ 01.00 1.234 -1

  • Tarikh (YYYY-MM-DD)

    Bulan 01–12 dan hari 01–31; panjang bulan tidak disemak

    /^\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

  • Masa (HH:MM[:SS])

    Jam 24, saat pilihan

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

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

  • Nama pengguna

    Bermula dengan huruf; 4–16 huruf, digit atau garis bawah

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

    ✓ alice_01 Bob2026✗ 1alice ab bad-name

  • Kata laluan kuat

    Sekurang-kurangnya 8 aksara dengan huruf besar dan kecil, digit serta simbol

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

    ✓ Passw0rd! Aa1@aaaa✗ password Password1 Aa1@

  • Warna heks

    #RGB atau #RRGGBB

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

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

  • UUID

    Format UUID standard (versi 1–8)

    /^[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

  • Versi semantik

    MAJOR.MINOR.PATCH dengan prapelancaran dan metadata binaan pilihan

    /^(?: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

  • Pasangan tag HTML

    Mencari tag pembukaan dan penutupan sepadan, serta menangkap nama tag dan kandungan

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

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

  • Baris kosong

    Dengan bendera m, mencari baris kosong atau hanya ruang, contohnya untuk membuangnya

    /^\s*$/m

    ✓ ✗ text

Corak menggunakan sintaks JavaScript dan berfungsi dalam kebanyakan bahasa seperti Java, Python dan Go (ambil perhatian tentang escape garis condong). Ia hanya menyemak format; sama ada ID atau nombor kad itu sebenar memerlukan jumlah semak atau pengesahan rasmi.

Cara menggunakan

  1. Cari format atau tapis mengikut kategori.
  2. Klik Salin untuk mengambil corak; escape garis condong songsang apabila dimasukkan ke dalam rentetan.
  3. Taip dalam kotak di bawah kad untuk melihat serta-merta sama ada ia sepadan.

Penerangan pilihan

Sintaks
Ditulis untuk JavaScript dan serasi dengan kebanyakan bahasa seperti Java, Python, Go dan PHP; dalam literal rentetan, gandakan garis condong songsang.
Padanan seluruh rentetan
Corak pengesahan menggunakan sauh ^ dan $ supaya keseluruhan input mesti sepadan. Untuk mencari dalam teks lebih panjang, buang sauh tersebut dan tambah bendera g.
Format berbanding kesahan
Corak hanya menyemak format. Sama ada ID atau nombor kad itu benar memerlukan checksum atau semakan rasmi.

Cara corak dibina: contoh IPv4

Corak IPv4 menunjukkan struktur biasa regex pengesahan. Satu oktet ditulis sebagai empat alternatif, dicuba mengikut urutan, supaya masing-masing hanya menerima 0–255:

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

Keseluruhan corak ialah (octet\.){3}octet, ditambat dengan ^ dan $. Itulah sebabnya 192.168.1.1 sepadan manakala 256.1.1.1, 01.2.3.4 dan 1.2.3 tidak.

Format bukan kesahihan

Corak hanya menyemak bentuk. Corak tarikh menerima 2026-02-30 kerana ia membenarkan hari ke-30 dalam setiap bulan, dan menolak 2026-13-01 kerana bulan ke-13 tidak wujud. Untuk tarikh sebenar, huraikan nilai itu dengan perpustakaan tarikh bahasa anda selepas semakan regex.

Soalan lazim

Mengapa regex e-mel tidak mematuhi RFC sepenuhnya?

Regex yang mematuhi RFC 5322 sepenuhnya sangat besar dan masih menolak sedikit kesilapan sebenar. Gunakan semakan longgar dan sahkan alamat melalui e-mel pengesahan.

Bagaimanakah saya menyahpepijat regex yang lebih kompleks?

Gunakan penguji regex yang menandakan setiap padanan dan kumpulan serta boleh menguji penggantian.

Adakah corak ini menyokong Unicode?

Kebanyakannya menyasarkan input ASCII. Tambah bendera u dan escape sifat Unicode seperti \p{L} jika mahu menerima huruf daripada mana-mana skrip.

Privasi

Alat ini berjalan sepenuhnya dalam pelayar anda. Fail dan teks anda diproses pada peranti anda dan tidak pernah dimuat naik ke pelayan kami.

Alat berkaitan