DevToolBoxฟรี
บล็อก

20 รูปแบบ Regex ที่นักพัฒนาทุกคนต้องมี: ตัวอย่างพร้อม Copy-Paste

11 นาทีในการอ่านโดย DevToolBox
Ad Space

หยุดเขียน regex ตั้งแต่ศูนย์ นี่คือ 20 รูปแบบที่ผ่านการทดสอบ

ทดสอบรูปแบบด้วย Regex Tester ของเรา →

รูปแบบการตรวจสอบ

1. Email Address

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

ตรงกับ: user@example.com, john.doe+tag@company.co.uk

ไม่ตรงกับ: user@, @example.com, user@.com

2. URL (HTTP/HTTPS)

^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)$

ตรงกับ: https://example.com, http://www.site.co.uk/path?q=1

3. Phone Number (International E.164)

^\+[1-9]\d{1,14}$

ตรงกับ: +14155552671, +442071234567

สำหรับหมายเลขโทรศัพท์ระหว่างประเทศ US: ดูรูปแบบ #4

4. US Phone Number

^(\+1)?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$

ตรงกับ: (415) 555-2671, 415-555-2671, +1 415.555.2671

5. Strong Password

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

ต้องมี: 8+ ตัวอักษร ตัวพิมพ์ใหญ่/เล็ก ตัวเลข อักขระพิเศษ.

ตรงกับ: MyP@ss1word | ไม่ตรงกับ: password, 12345678

6. IPv4 Address

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

ตรงกับ: 192.168.1.1, 10.0.0.255

ไม่ตรงกับ: 256.1.1.1, 192.168.1

7. IPv6 Address (Simplified)

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

ที่อยู่ IPv6 เต็มรูปแบบเช่น 2001:0db8:85a3:0000:0000:8a2e:0370:7334

8. Date (YYYY-MM-DD)

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

ตรงกับ: 2026-01-15, 2025-12-31

ไม่ตรงกับ: 2026-13-01, 2026-00-15

รูปแบบการดึงข้อมูล

9. Extract All Emails from Text

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

ใช้ flag global (g) หาอีเมลทั้งหมด.

10. Extract All URLs from Text

https?:\/\/[^\s<>\"']+

รูปแบบ URL ที่เรียบง่ายกว่าสำหรับการดึงข้อมูล.

11. Extract HTML Tags

<([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>(.*?)<\/\1>

จับชื่อแท็กและเนื้อหา.

สำหรับ HTML ที่ซับซ้อน: ใช้ DOMParser หรือ cheerio.

12. Extract Numbers from String

-?\d+\.?\d*

จำนวนเต็มและทศนิยม. 42, -3.14, 0.5

13. Extract Hashtags

#[a-zA-Z0-9_]+

ตรงกับ: #javascript, #dev_tools, #React18

รูปแบบการจัดรูปแบบ

14. Credit Card Number (Basic)

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$

ตรงกับ: Visa, Mastercard, Amex, Discover.

ในโปรดักชัน: ใช้ตัวประมวลผลการชำระเงิน.

15. Hex Color Code

^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$

ตรงกับ: #FFF, #FF5733, #FF573380

16. Semantic Version (SemVer)

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

ตรงกับ: 1.0.0, 2.1.3-beta.1, 1.0.0+build.123

17. UUID (Any Version)

^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

ตรงกับ: f47ac10b-58cc-4372-a567-0e02b2c3d479

การประมวลผลข้อความ

18. Trim Whitespace (Leading + Trailing)

^\s+|\s+$

ใช้กับ replace เพื่อ trim: text.replace(/^\\s+|\\s+$/g, '')

19. Multiple Spaces to Single Space

\s{2,}

แทนที่ด้วยช่องว่างเดียว: text.replace(/\\s{2,}/g, ' ')

20. Markdown Bold Text

\*\*(.+?)\*\*

จับข้อความระหว่าง **.

การใช้รูปแบบในโค้ด

// JavaScript
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
emailRegex.test('user@example.com'); // true

// Python
import re
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
re.match(pattern, 'user@example.com')  # Match object

// Java
Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
pattern.matcher("user@example.com").matches(); // true

ทดสอบรูปแบบทั้งหมดด้วย Regex Tester →

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

รูปแบบเหล่านี้ใช้ได้กับทุกภาษาหรือไม่?

ได้ ใช้ไวยากรณ์ regex มาตรฐานสำหรับ JS, Python, Java, C#, Go, PHP, Ruby.

ใช้ regex ตรวจสอบอีเมลในโปรดักชัน?

สำหรับการตรวจสอบรูปแบบพื้นฐาน รูปแบบเหล่านี้เพียงพอ การตรวจสอบที่แท้จริงต้องส่งอีเมลยืนยัน.

ความแตกต่างระหว่าง greedy และ lazy quantifier?

Greedy (*, +, ?): ตรงกันมากที่สุด. Lazy (*?, +?, ??): น้อยที่สุด.

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

.*Regex Tester
Ad Space

บทความที่เกี่ยวข้อง

การตรวจสอบ YAML Docker Compose: 10 ข้อผิดพลาดไวยากรณ์ที่พบบ่อยและวิธีแก้ไข

หยุดเสียเวลากับข้อผิดพลาด YAML Docker Compose เรียนรู้การระบุและแก้ไข 10 ข้อผิดพลาดที่พบบ่อยที่สุด