เทคนิค
มาตรฐาน Regular Expression
เจาะลึกเทคนิคการใช้ Regular Expression พร้อมตัวอย่าง Patterns ที่ใช้บ่อย
Regex คืออะไร?
Regular Expression (Regex) เป็นลำดับของอักขระที่กำหนดรูปแบบการค้นหา ใช้สำหรับค้นหา แทนที่ และตรวจสอบข้อมูลใน text อย่างมีประสิทธิภาพ
Basic Syntax
| Pattern | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| . | อักขระใดๆ หนึ่งตัว | a.b |
| ^ | ต้นบรรทัด | ^Hello |
| $ | ท้ายบรรทัด | World$ |
| * | 0 ครั้งขึ้นไป | a* |
| + | 1 ครั้งขึ้นไป | a+ |
| ? | 0 หรือ 1 ครั้ง | a? |
Character Classes
| Pattern | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| [abc] | a, b, หรือ c | [abc] |
| [^abc] | ไม่ใช่ a, b, c | [^abc] |
| [a-z] | a ถึง z | [a-z] |
| \d | ตัวเลข (0-9) | \d+ |
| \w | ตัวอักษรและตัวเลข | \w+ |
| \s | ช่องว่าง | \s+ |
Patterns ที่ใช้บ่อย
// อีเมล
const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
// เบอร์โทรศัพท์ไทย
const phonePattern = /^0[0-9]{8,9}$/;
// URL
const urlPattern = /^https?:\/\/[\w\-]+(\.[\w\-]+)+[/#?]?.*$/;
// รหัสผ่าน (อย่างน้อย 8 ตัว)
const passwordPattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d@$!%*?&]{8,}$/;ตัวอย่างการใช้งาน
// ตรวจสอบอีเมล
function validateEmail(email) {
const pattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return pattern.test(email);
}
// ค้นหาทุกตัวเลขในข้อความ
const text = "มี 123 และ 456";
const numbers = text.match(/\d+/g);
console.log(numbers); // ["123", "456"]เคล็ดลับ: ใช้เครื่องมือ Regex Tester ของเราเพื่อทดสอบและ debug patterns ของคุณได้ทันที