ข้ามไปยังเนื้อหา
ToolMug

ใช้ ↑ ↓ เพื่อเลื่อน, Enter เพื่อเปิด, Esc เพื่อปิด

รูปแบบ Regex ที่ใช้บ่อย

รวม regular expression พร้อมใช้สำหรับตรวจสอบอีเมล URL โดเมน IPv4 และ MAC address จำนวนเต็ม ทศนิยม จำนวนเงิน วันที่ เวลา ชื่อผู้ใช้ รหัสผ่านที่แข็งแรง สี hex UUID และ semantic version รวมถึงรูปแบบโทรศัพท์ บัตรประชาชน และไปรษณีย์จีน แต่ละแบบมีคำอธิบายและตัวอย่างที่ตรงหรือไม่ตรง คัดลอกหรือพิมพ์เพื่อทดสอบได้ทันที

ทำงานในเบราว์เซอร์ของคุณ ข้อมูลที่คุณป้อนจะไม่ถูกอัปโหลด

  • ที่อยู่อีเมล

    รูปแบบอีเมลทั่วไปที่มีจุด เครื่องหมายบวก และโดเมนหลายระดับ

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

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

  • URL (http/https)

    ขึ้นต้นด้วย http:// หรือ https:// และไม่มีช่องว่าง

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

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

  • ชื่อโดเมน

    โดเมนหลายระดับที่มีตัวอักษร ตัวเลข และขีดกลาง

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

    ตัวเลขสี่ชุดตั้งแต่ 0 ถึง 255 โดยไม่มีศูนย์นำหน้า

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

    เลขฐานสิบหกหกคู่คั่นด้วยโคลอนหรือขีดกลาง

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

  • หมายเลขมือถือจีน

    11 หลักขึ้นต้นด้วย 13–19 ไม่มี +86

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

    ✓ 13800138000 19912345678✗ 12345678901 1380013800 +8613800138000

  • โทรศัพท์บ้านจีน

    รหัสพื้นที่กับหมายเลข อาจคั่นด้วยขีดกลาง

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

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

  • บัตรประชาชนจีน (18 หลัก)

    ตรวจความยาวรหัสพื้นที่และวันเกิด ตัวท้ายอาจเป็น X ไม่ตรวจ checksum

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

  • รหัสไปรษณีย์จีน

    หกหลัก

    /^\d{6}$/

    ✓ 100000 010000✗ 10000 1000000

  • ป้ายทะเบียนจีน

    7 ตัวอักษรสำหรับป้ายทั่วไป 8 ตัวสำหรับรถพลังงานใหม่

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

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

  • อักษรจีนเท่านั้น

    อักษร CJK ที่ใช้ทั่วไปเท่านั้น

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

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

  • หมายเลข QQ

    5–11 หลัก ไม่ขึ้นต้นด้วย 0

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

    ✓ 10001 123456789✗ 01234 1234

  • หมายเลขบัตรธนาคาร

    16–19 หลัก ความถูกต้องยังต้องใช้ Luhn

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

    ✓ 6222021234567890123 4111111111111111✗ 0222021234567890 622202123456

  • จำนวนเต็ม

    อาจติดลบ

    /^-?\d+$/

    ✓ 0 -42 12345✗ 1.5 1e3

  • จำนวนเต็มบวก

    ไม่มีศูนย์นำหน้า

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

    ✓ 1 100✗ 0 01 -1

  • เลขทศนิยม

    อาจติดลบและมีตัวเลขทั้งสองด้านของจุด

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

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

  • จำนวนเงิน

    ไม่ติดลบและมีทศนิยมไม่เกินสองตำแหน่ง

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

    ✓ 0 99.9 1234.56✗ 01.00 1.234 -1

  • วันที่ (YYYY-MM-DD)

    เดือน 01–12 และวัน 01–31 ยังไม่ตรวจจำนวนวันของเดือน

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

  • เวลา (HH:MM[:SS])

    นาฬิกา 24 ชั่วโมง วินาทีไม่บังคับ

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

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

  • ชื่อผู้ใช้

    ขึ้นต้นด้วยตัวอักษร ยาว 4–16 ตัวอักษร ตัวเลข หรือขีดล่าง

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

    ✓ alice_01 Bob2026✗ 1alice ab bad-name

  • รหัสผ่านแข็งแรง

    อย่างน้อย 8 ตัว มีตัวพิมพ์ใหญ่ เล็ก ตัวเลข และสัญลักษณ์

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

    ✓ Passw0rd! Aa1@aaaa✗ password Password1 Aa1@

  • สี Hex

    #RGB หรือ #RRGGBB

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

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

  • UUID

    รูปแบบ UUID มาตรฐาน (รุ่น 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

  • เวอร์ชัน Semantic

    MAJOR.MINOR.PATCH และ pre-release/build metadata ที่อาจมี

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

    หาแท็กเปิดและปิดที่ตรงกัน พร้อมจับชื่อแท็กและเนื้อหา

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

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

  • บรรทัดว่าง

    เมื่อใช้แฟล็ก m จะหาบรรทัดว่างหรือมีแต่ช่องว่าง เช่น เพื่อลบออก

    /^\s*$/m

    ✓ ✗ text

รูปแบบใช้ไวยากรณ์ JavaScript และใช้ได้กับภาษาอย่าง Java, Python และ Go ส่วนใหญ่ ระวังการ escape backslash ตรวจเฉพาะรูปแบบ การยืนยัน ID หรือเลขบัตรจริงต้องใช้ checksum หรือหน่วยงาน

วิธีใช้งาน

  1. ค้นหารูปแบบหรือกรองตามหมวดหมู่
  2. คลิกคัดลอกเพื่อนำ pattern ไปใช้ หากใส่ในสตริงให้ escape backslash
  3. พิมพ์ในช่องใต้การ์ดเพื่อดูทันทีว่าตรงหรือไม่

คำอธิบายตัวเลือก

ไวยากรณ์
เขียนสำหรับ JavaScript และใช้ได้กับภาษาส่วนใหญ่ เช่น Java, Python, Go และ PHP ใน string literal ต้องเพิ่ม backslash เป็นสองเท่า
ตรงทั้งสตริง
รูปแบบตรวจสอบยึดด้วย ^ และ $ ให้อินพุตทั้งหมดตรงกัน หากค้นหาในข้อความยาวให้เอา anchor ออกและเพิ่มแฟล็ก g
รูปแบบกับความถูกต้อง
pattern ตรวจเฉพาะรูปแบบ การยืนยันว่า ID หรือเลขบัตรมีอยู่จริงต้องใช้ checksum หรือการตรวจจากหน่วยงาน

รูปแบบถูกสร้างขึ้นอย่างไร: ตัวอย่าง IPv4

รูปแบบ IPv4 แสดงโครงสร้างปกติของ regex สำหรับตรวจสอบ ตัวเลขหนึ่งส่วน (octet) เขียนเป็นสี่ทางเลือกที่ลองตามลำดับ แต่ละทางเลือกรับเฉพาะ 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

รูปแบบทั้งหมดคือ (octet\.){3}octet ล็อกด้วย ^ และ $ จึงเป็นเหตุผลที่ 192.168.1.1 ตรง ขณะที่ 256.1.1.1, 01.2.3.4 และ 1.2.3 ไม่ตรง

รูปแบบไม่ใช่ความถูกต้อง

รูปแบบตรวจเฉพาะรูปร่าง รูปแบบวันที่ยอมรับ 2026-02-30 เพราะอนุญาตวันที่ 30 ในทุกเดือน และปฏิเสธ 2026-13-01 เพราะไม่มีเดือน 13 สำหรับวันที่จริง ให้แยกค่าด้วยไลบรารีวันที่ของภาษาที่ใช้หลังตรวจด้วย regex

คำถามที่พบบ่อย

ทำไม regex อีเมลจึงไม่สอดคล้อง RFC ครบถ้วน

regex ที่สอดคล้อง RFC 5322 ครบมีขนาดใหญ่มากและยังปฏิเสธข้อผิดพลาดจริงได้ไม่กี่แบบ ใช้การตรวจที่ยืดหยุ่นแล้วให้ผู้ใช้ยืนยันผ่านอีเมล

ดีบัก regex ที่ซับซ้อนอย่างไร

ใช้เครื่องทดสอบ regex ซึ่งไฮไลต์ทุก match และกลุ่ม และทดสอบการแทนที่ได้

รูปแบบเหล่านี้รองรับ Unicode ไหม

ส่วนใหญ่ตั้งเป้าอินพุต ASCII หากต้องรับอักษรทุกระบบให้เพิ่มแฟล็ก u และ Unicode property escape เช่น \p{L}

ความเป็นส่วนตัว

เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา

เครื่องมือที่เกี่ยวข้อง