Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menggunakan Regex Untuk Validasi Email di PHP

Cara Menggunakan Regex Untuk Validai Email di PHP
Regular Expression
Regular Expression (RegEx) -  Fungsi regex di gunakan untuk proses validasi email pada form. Seperti kita tahu script kontak email memiliki banyak kelemahan dalam mendeteksi kevalidan email.

Dimana script tersebut hanya mengecek panjang string tidak mengecek awal string, tanda @, tanda . dan sebagainya. Untuk mengecek kevalidan email kita dapat menggunakan pola regex seperti berikut:

^[a-zA-Z0-9_\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9_\-\.]+$

Pola pertama yaitu ^[a-zA-Z0-9_\-]+ artinya “email setidaknya diawali satu karakter yang berupa huruf, angka, _(underscore), tanda – (minus), atau kombinasi dari semua itu”. Kita menggunakan tanda \ didepan – karena minus merupakan karakter spesial. Pola kedua @[a-zA-Z0-9\-]+ artinya “harus ada simbol @ lalu setidaknya ada huruf, angka atau tanda ( - ).

Pola kedua ini untuk nama hosting. Pola ketiga \.[a-zA-Z0-9_\-\.]+$ artinya “harus ada tanda . lalu setidaknya ada huruf, angka, atau titik lain jika diperlukan sampai akhir dari string.

Pola yang terakhir ini untuk .com, .co.id dan sebagainya. Meskipun tidak 100% dapat memfilter email. Tapi pola seperti ini setidaknya akan mempermudah penanganan situasi.
Cara mencari String dengan Regex

Mencari string merupakan pekerjaan tujuan utama dari pembuatan pola regex. PHP memiliki dua fungsi untuk keperluan ini yaitu ereg() dan eregi(). Perbedaannya jika ereg() membedakan huruf kecil dan huruf besar(case sensitive). eregi() tidak membedakan huruf kecil dan huruf besar(not case sensitve). Fungsi eregi() memiliki struktur dasar seperti berikut.

eregi(string pola regex, string sumber, [array])

Fungsi akan akan mencari pola regex yang diinginkan pada string sumber. Parameter 3 bersifat opsional. PENERAPAN TEORI EREGI(). Tambahkan kode validasi email berikut ini.
//cek panjang string
if (strlen($nama) < 3)
{
      echo "<b>Masa, nama kok kurang dari 3 huruf</b>";
      exit;
 }
elseif (strlen($email) < 6)
{
      echo "<b>Email anda tidak valid</b>";
      exit;
}
elseif (strlen($pesan) < 10)
{
      echo "<b>Komentar terlalu pendek</b>";
      exit;
}

//Tambah kode berikut dibawah dari kode diatas tadi.
//cek kevalidan email

if (!eregi('^[a-zA-Z0-9_\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9_\-\.]+$', $email))
{
exit ('<b>Email Tidak Valid</b>');
}
Penjelasan: 
Menjelaskan penggunaan fungsi eregi() saja. Lihatlah cuplikan script berikut

if (!eregi('^[a-zA-Z0-9_\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9_\-\.]+$', $email))

Kita gunakan statemen if untuk menentukan kondisi. Karena didepan eregi terdapat tanda ! (seru) yang berarti jika ada kesalahan atau tidak cocok. Jadi if akan mengeksekusi blok kode jika memang ada kesalahan atau pola tidak cocok dengan input dari user. exit('Email Tidak Valid'); Perintah exit juga dapat diisi parameter berupa string. Mode seperti diatas lebih singkat dibanding menulis dua perintah sekaligus yaitu echo dan exit.

Baca juga :Cara menggunakan operator Aritmatika di PHP - Website Pemula 4
Cara membuat tabel di HTML - Website Pemula 3
Cara manipulasi Font dan Link - Website Pemula 2
Jenis tag HTML dan Fungsinya - Website Pemula1