Metode Validasi Email PHP
Cara paling efisien dan direkomendasikan untuk memvalidasi alamat email di PHP adalah menggunakan fungsi bawaan filter_var() dengan filter FILTER_VALIDATE_EMAIL. Metode ini jauh lebih aman, mudah dikelola, dan mengikuti standar RFC 822 dibandingkan menulis pola Regex manual yang rentan terhadap kesalahan logika.
Implementasi filter_var (Direkomendasikan)
$email = "[email protected]";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Email valid";
} else {
echo "Email tidak valid";
}Implementasi Regex (Untuk Kebutuhan Kustom)
Jika Anda memerlukan validasi yang sangat spesifik (misalnya membatasi domain tertentu), Anda dapat menggunakan preg_match(). Berikut adalah pola Regex standar yang sering digunakan:
$email = "[email protected]";
$pattern = "/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/";
if (preg_match($pattern, $email)) {
echo "Format email sesuai";
} else {
echo "Format email salah";
}Tabel Perbandingan Metode Validasi
| Fitur | filter_var() | Regex Manual |
|---|---|---|
| Kemudahan | Sangat Mudah | Kompleks |
| Standar RFC | Sesuai Standar | Tergantung Penulis |
| Performa | Sangat Cepat | Cepat |
| Pemeliharaan | Otomatis (PHP) | Manual |
Tips Troubleshooting
- Jangan hanya mengandalkan validasi sisi server: Selalu gunakan atribut
type="email"pada tag HTML5 input untuk validasi awal di sisi klien (browser). - Validasi DNS: Jika Anda ingin memastikan domain email tersebut benar-benar ada, gunakan fungsi
checkdnsrr($domain, "MX")setelah memvalidasi format email. - Hindari Regex Kompleks: Regex yang terlalu panjang untuk email seringkali gagal menangkap kasus edge-case seperti alamat email dengan sub-domain atau karakter khusus yang diizinkan.
Untuk aplikasi produksi, gunakan filter_var() karena fungsi ini terus diperbarui oleh tim pengembang PHP mengikuti standar keamanan terbaru.
🔍 Orang Lain Juga Mencari Ini
Php Filter_var Email
Regex Email Php
Validasi Email Php Tanpa Regex
Checkdnsrr Php
Php Email Validation Best Practices
Preg_match Email Php
Validasi Input Php
Php Form Validation
Rfc 822 Email Validation
Cara Cek Email Aktif Php
Php Email Regex Pattern
Validasi Email Html5
Keamanan Input Php
Php Filter_validate_email
Validasi Domain Email Php