You are on page 1of 5

www.aefil.

com
Free tutorial teks dan video

Lisensi Dokumen:
Copyright © 2009 www.aefil.com
Seluruh tutorial di www.aefil.Com dapat digunakan, dimodifikasi dan disebarkan secara
bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau
merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari www.aefil.Com.

Validasi email dengan Reguler Expression


Yang dimaksud dengan validasi email adalah memeriksa apakah penulisan email sudah
benar atau belum. Penulisan email harus memenuhi syarat tertentu sehingga anda tidak
dapat sembarangan menuliskan alamat email. Alamat email harus mengandung karakter
“@” sehingga dapat dikenali oleh protokol sebagai alamat email. Untuk itu, agar input
data email yang dituliskan oleh pengunjung benar-benar valid sebagai alamat email,
sebaiknya dibuat program validasi email pada program pengiriman email anda.

Website dengan sistem keanggotaan (membership) biasanya memakai alamat email


sebagai sarana untuk melakukan verifikasi user. Setiap ada user baru yang mendaftar, ia
diwajibkan untuk mengisikan alamat email yang valid.
Nantinya prosedur untuk aktivasi account user tersebut akan dikirimkan melalui alamat
emailnya. Bagaimana seandainya alamat email yang diisikan tersebut tidak valid?
Sudah pasti proses registrasi tersebut tidak akan berhasil.
Validasi alamat email diperlukan untuk memeriksa kesalahan pengisian tersebut.
Disamping itu bisa juga dipakai untuk menghindari kemungkinan pengisian data yang
berpotensi menimbulkan masalah, misalnya SQL Injection.

Reguler Expression.
Reguler expression merupakan suatu cara untuk merepresentasikan pola pada bagian
teks. Cara ini cukup ampuh dalam memeriksa serta memodifikasi teks, karena
memungkinkan kita untuk mencari pola yang sesuai di dalam string serta mencari
kecocokan.
Dukungan reguler expression diwujudkan dalam dua buah sintaks, yaitu PCRE (Perl
Compatible Reguler Expression) dan POSIX. Meskipun kedua fungsi ini sudah
ddukung oleh PHP, namun sintaks POSIX merupakan fungsi yang standar. Di sini kita
akan membahas fungsi reguler expression pengembangan POSIX. Untuk mengetahui
informasi lebih jelas mengenai PCRE dapat anda lihat pada alamat
http://www.pcre.org/.

Copyright © 2009 www.aefil.com 1


www.aefil.com
Free tutorial teks dan video

Ada dua hal yang perlu diperiksa, yaitu sintaks email itu sendiri dan keberadaan DNS-
nya.

1. Sintaks Email
Alamat email memiliki sintaks username@nama-domain. Nah, berdasarkan pola
tersebut kita bisa memeriksa apakah alamat email yang diisikan oleh pengunjung itu
valid atau tidak.
Kita bisa menggunakan regular expression seperti contoh kode berikut ini:

contoh skrip:
<?php
$alamat_email = "username@nama_domain.com";

if (ereg(“^(.+)@(.+)\\.(.+)$”,$alamat_email)

{
echo "Pola email valid";
}
else {
echo "Pola email tidak valid";
}
?>

Penjelasan :

1. Sebuah email terdiri dari :

1. nama awal pada contoh diatas “username”

2. Adanya karakter “@”

3. Diikuti oleh nama domain

4. Adanya tanda titik “.”

5. Adanya Top level domain seperti .com, dll

2. Pada regulier expression terdapat tanda “^” yang


fungsinya bahwa pencocokan hanya sesuai jika terdapat
string setelah tanda “^”. misalkan andi@yahoo.com ,
dino@gmail.com, dll. Yang dimaksud string setelah
tanda “^” adalah : andi, dino.

3. sintaks () menandakan dimulainya sub pola yang

Copyright © 2009 www.aefil.com 2


www.aefil.com
Free tutorial teks dan video

baru,kemudian sintaks “.+” mengharuskan penginputan


berupa string kecuali baris baru, sebagai contoh
:andi, dino.

4. Di ikuti tanda “@” menandakan kode alamat sebagaimana


umumnya sebuah email.

5. Kemudian (.+) menandakan harus di ikuti string,


seperti yang saya jelaskan diatas.

6. Tanda titik “.” tidak dapat langsung ditulis harus


diikuti oleh tanda “\\”

7. Sintaks (.+) mengharuskan penulisan string, hal ini


dianggap sebagai top level domain

8. Sintaks “$” mempunyai pengertian akan bernilai True


jika string diakhiri dengan karakter yang cocok dengan
pola yang sudah ditentukan.

Jika sebuah alamat email yang di inputkan oleh user


sesuai dengan pola yang sudah ditentukan diatas maka
hasil yang diperoleh adalah bernilai “true” dan
“false” jika kebalikannya.

2. DNS
Bagaimana cara untuk memastikan bahwa domain email yang dimasukkan oleh
pengunjung tersebut benar-benar ada? PHP mempunyai fungsi checkdnsrr yang bisa
kita pakai untuk keperluan tersebut.
Sintaksnya adalah sebagai berikut:

int checkdnsrr(string host [,string type]);

Parameter host harus diisi dan berupa nama domain atau IP. Sedangkan parameter type
adalah opsional (boleh tidak diisi). Nilai parameter ini bisa berupa A, MX, NS, SOA,
PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT atau ANY. Nilai default-nya adalah
MX (Mail Exchange).
Fungsi checkdnsrr akan memeriksa record DNS untuk melihat apakah host dan type
yang dimaksud ada atau tidak. Jika record ditemukan, hasil eksekusi fungsi tersebut
akan bernilai TRUE. Namun jika sebaliknya akan bernilai FALSE.

Contoh penggunaannya adalah sebagai berikut:

Copyright © 2009 www.aefil.com 3


www.aefil.com
Free tutorial teks dan video

<?php
$alamat_email = "username@nama_domain.com";
list ($username, $nama_domain) = split ("@",
$alamat_email);
if (checkdnsrr($nama_domain)) {
echo "Domain email valid";
}
else {
echo "Domain email tidak valid";
}
?>

Penjelasan :
1. contoh email : username@nama_domain.com, setelah dipisah menjadi user:
username dan domain :nama_domain.com.
2. List adalah salah satu fungsi dari php yang digunakan untuk memisahkan string
berdasarkan kriteria terntentu.
3. fungsi list menyediakan dua buah variabel yaitu $username dan $nama_domain,
kemudian memisahkan string alamat_email berdasarkan tanda “@”.
4. Hasil dari list adalah $username=”username” dan
$nama_domain=”nama_domain.com”
5. Melalui fungsi checdnsrr akan dilakukan pengecekan domain, akan bernilai true
jika domain tersebut ada dan bernilai false jika tidak ada.

Pada awalnya fungsi checdnsrr tidak dapat digunakan pada platforms windows, namun
pada PHP versi 5.3.0 fungsi ini sudah dapat digunakan.

Catatan :
Skrip tersebut hanya berjalan jika sudah online di internet, namun untuk pengecekan
pola email dapat dilakukan di localhost atau di komputer yang tidak harus terhubung ke
internet.

Penutup

Sekarang ini hampir seluruh web yang ada mengharuskan anggota yang mendaftar
harus menginputkan email. Salah satu cara untuk memastikan alamat email yang di
kirim oleh pengunjung adalah valid adalah dengan mencocokan pola dan mencek dns
dari email tersebut.

Referensi

Copyright © 2009 www.aefil.com 4


www.aefil.com
Free tutorial teks dan video

http://id2.php.net/checkdnsrr

Biografi Penulis

Muhammad Arif Harahap,


Saat ini sedang menyelesaikan kuliah disebuah perguruan tinggi
negeri. Kecintaan penulis terhadap komputer membuat penulis
hampir melupakan kuliahnya. Saat ini penulis lebih
memfokuskan diri pada software engineering.
Email : arifhrp@gmail.com

Copyright © 2009 www.aefil.com 5

You might also like