Selasa, 03 Maret 2015

Cek / Validasi Alamat Email Pakai Regex

Pengecekan / Validasi Email Address Menggunakan Regular Expression


Biasanya sewaktu kita melakukan development website, kita biasanya ada membuat formulir pengisian yang dilengkapi dengan alamat email, namun selain itu kita juga perlu melakukan validasi apakah alamat email yang diketik user itu sudah benar atau salah. Pengecekan jika dilakukan dengan membandingkan string satu per satu maka cara tersebut akan membuat waktu pengecekan menjadi lama dan tidak efisien. Ada satu cara mudah yaitu menggunakan regular expresion, sehingga pengecekan menjadi cepat dan efisien.

Berikut ini Saya akan memberikan cara melakukan pengecekan alamat email menggunakan Regular Expression menggunakan Javascript dan PHP.


Pertama, yang harus kita ketahui adalah pattern atau pola dari alamat email itu sendiri :
  • Alamat email terdiri atas "[nama]@[nama domain]"
  • Nama sendiri harus terdiri dari huruf dan angka dan beberapa tanda baca seperti titik, strip, dll.
  • Nama Domain merupakan domain name yang biasa digunakan di alamat website. yaitu terdiri nama dan diikuti dengan .com, co.id, dan sebagainya, contoh : sesuatu.com, sesuatu.co.id, dll.
  • Contoh email yang benar : abc.def@email.com , abc-def@email.co.id , abcdef@email.biz , abcdef@gmail.com , dan lain-lain.
Dari analisa di atas maka kita bisa membuat pola seperti ini :
/^([A-Za-z][A-Za-z0-9\-\.\_]*)\@([A-Za-z][A-Za-z0-9\-\_]*)(\.[A-Za-z][A-Za-z0-9\-\_]*)+$/
Yang artinya :

  • tanda ^ artinya dimulai dengan
  •   Warna Merah  : Diawali huruf A-Z, diikuti oleh A-Z - . _ dan tanda * artinya boleh berulang atau tidak 
  •   Warna Kuning  : Diawali huruf A-Z, diikuti oleh A-Z - _ dan tanda * artinya boleh berulang atau tidak
  •   Warna Hijau  : Diawali titik (.) kemudian diikuti huruf A-Z, diikuti oleh A-Z - _ dan tanda * artinya berulang, dan tanda + artinya boleh berulang dari titik (.) awal minimal 1 kali  
  • tanda $ artinya diakhiri dengan

Contoh di penggunaan menggunakan Javascript :
function isEmail(EmailAddress) {
    var Regex = /^([A-Za-z][A-Za-z0-9\-\.\_]*)\@([A-Za-z][A-Za-z0-9\-\_]*)(\.[A-Za-z][A-Za-z0-9\-\_]*)+$/ ;
    return Regex.test(EmailAddress) ;
}

// Cara menggunakan fungsi di atas
if (isEmail("abc-def@email.com")) {
    alert("Email Is Valid") ;
} else {
    alert("Email Is Invalid") ;
}

Kemudian contoh penggunaan dengan fungsi preg_match di PHP :
<?php
     function isEmail($emailAddress) {
          return preg_match('/^([A-Za-z][A-Za-z0-9\-\.\_]*)\@([A-Za-z][A-Za-z0-9\-\_]*)(\.[A-Za-z][A-Za-z0-9\-\_]*)+$/',$emailAddress) ;
     }
   
     // Cara menggunakan fungsi di atas
     if (isEmail("abc-def@email.com")) {
         echo "Email Is Valid" ;
     } else {
         echo "Email Is Invalid" ;
     }
?>

File contoh bisa di download di link ini



2 komentar: