ในการพัฒนา Web Application ถ้าต้องการตรวจสอบรูปแบบอีเมลที่ผู้ใช้กรอก ควรใช้วิธีใดที่เหมาะสมที่สุดใน PHP?
กใช้ strlen($email) > 5 เพื่อตรวจสอบความยาว
ขใช้ filter_var($email, FILTER_VALIDATE_EMAIL) เพื่อตรวจสอบรูปแบบ
คใช้ฟังก์ชัน is_email($value) ที่มีใน PHP มาตรฐาน
งใช้ strpos($email, '@') เพื่อตรวจสอบว่ามีเครื่องหมาย @ หรือไม่
เฉลยอธิบาย
filter_var() ร่วมกับ FILTER_VALIDATE_EMAIL เป็นวิธีมาตรฐานของ PHP สำหรับตรวจสอบรูปแบบอีเมลที่ถูกต้องตาม RFC 5321 ส่วน is_email() ไม่มีใน PHP มาตรฐาน, การใช้ strlen() ตรวจสอบแค่ความยาวไม่ได้ตรวจรูปแบบ และ strpos('@') ตรวจสอบได้แค่บางส่วน เช่น 'abc@' ก็ผ่านทั้งที่ไม่ถูกต้อง