DevToolBoxFREE
BlogAdvertise

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

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

หยุดเขียน 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 (*?, +?, ??): น้อยที่สุด.

𝕏 Twitterin LinkedIn
บทความนี้มีประโยชน์ไหม?

Stay Updated

Get weekly dev tips and new tool announcements.

No spam. Unsubscribe anytime.

Partner Picks

Sponsor this article

Place your product next to this developer topic with tracked clicks.

Ask about article sponsorship

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

This site uses cookies for analytics and to display ads. By continuing to browse, you agree. Privacy Policy