Cara validasi alamat email dengan PHP | Memastikan alamat email yang dimasukan oleh user adalah benar merupakan salah satu poin yang harus dilakukan oleh seorang web developer yang baik agar data yang diperoleh tidak salah dan bisa berguna.

email address

Ilustrasi email address (Image: addthis.com)

Sebagai contoh untuk kasus pendaftaran peserta workshop secara online, ketika mendaftar dan membayar biaya pendaftaran peserta juga akan diminta untuk memasukan email agar peserta tersebut bisa mendapatkan pemberitahuan waktu, lokasi dan jadwal acara workshop secara lebih lengkap melalui email. Namun apabila email yang dimasukan tersebut salah, maka ada kemungkinan dia akan gagal mengikuti acara workshop karena tidak pernah menerima email pemberitahuan mengenai workshop tersebut. Hal ini tentu merugikan.

Oleh sebab itu sangat penting sekali untuk memastikan sebuah email itu valid atau tidak valid, jika tidak valid maka berikan pesan error dan proses terhenti sampai user memasukan email dengan benar.

Kita bisa melakukan hal tersebut dengan menggunakan PHP, setidaknya ada dua cara yang bisa kita terapkan untuk melakukan validasi alamat email menggunakan PHP.

Metode 1: Validasi alamat email menggunakan fungsi filter_var()

Ini merupakan cara yang paling mudah untuk melakukan validasi alamat email dengan PHP. Metode ini menggunakan fungsi PHP filter_var() yang sangat sederhana dan aman untuk memeriksa apakah sebuah alamat email itu valid atau tidak.

Salah satu kekurangannya adalah metode ini hanya bisa bekerja pada versi PHP >= v5.2.0

Berikut ini adalah salah satu contoh cara menggunakan fungsi filter_var() untuk melakukan validasi alamat email.

function validate_email($email=NULL) {
    return (filter_var($email, FILTER_VALIDATE_EMAIL) ? "$email adalah email yang valid" : "$email adalah email yang tidak valid");
}

echo validate_email("contohemail@gmail.com");
echo "<br/>" . validate_email("contohemail.gmail.com"); //contoh salah alamat email tidak ada tanda @

// output
// contohemail@gmail.com adalah email yang valid
// user.example.com adalah email yang tidak valid

Metode 2: Validasi alamat email menggunakan RegEx di PHP

Apabila Anda masih menggunakan PHP dibawah versi 5.2.0, maka Anda harus menggunakan metode RegEx ini untuk melakukan validasi alamat email. Berikut ini fungsi PHP untuk memeriksa alamat email sudah valid atau belum menggunakan ekspresi RegEx.

function validate_email($email=NULL) {
    return (preg_match("/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/",$email) ? "$email adalah email yang valid" : "$email adalah email yang tidak valid");
}

echo validate_email("contoh.email@gmail.com");
echo "<br/>" . validate_email("user_example@yahoo"); // Contoh alamat email salah karena menggunakan karakter underscore _

// output
// contoh.email@gmail.com adalah email yang valid
// user_example@yahoo adalah email yang tidak valid