TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Penggunaan Function ereg() di PHP untuk Pattern Matching


September 27th, 2008 | by rosihanari | Cetak Artikel Cetak Artikel

Istilah pattern matching (pencocokan pola) biasa digunakan dalam aplikasi berwujud form. Sebagai contoh misalnya untuk email. Alamat email memiliki pola xxxx@xxxx.xxx. Nah… untuk mencegah user dalam mengisikan email yang sembarangan (tidak sesuai pola) maka perlulah adanya suatu mekanisme pencocokan pola ini. Adapun contoh lain adalah nomor telepon dan kode wilayah atau kode pos. Kesemuanya itu pastilah memiliki pola-pola tertentu.

Pada artikel ini akan dibahas tentang penggunaan function ereg() di PHP untuk pattern matching ini.

Ok kita mulai saja pembahasannya.

Function ereg() dalam PHP memiliki sintaks

ereg("pattern", variabel)

Function tersebut akan mencocokkan value dari variabel dengan pattern yang diberikan. Apabila cocok, maka function akan mengembalikan nilai TRUE sedangkan bila tidak cocok hasilnya FALSE.

Sebelum kita menginjak ke contoh-contoh penggunaannya, terlebih dahulu akan kita bahas mengenai karakter khusus yang digunakan untuk mengatur pattern pada function ereg() ini.

Simbol Karakter  : ^
Makna            : penanda awal dari baris
Contoh           : ^k
Pola yang cocok  : kucing
Pola tdk cocok   : ekor kucing
Simbol Karakter  : $
Makna            : penanda akhir dari baris
Contoh           : n$
Pola yang cocok  : zaman
Pola tdk cocok   : amanah
Simbol Karakter  : .
Makna            : sebarang karakter tunggal
Contoh           : ..
Pola yang cocok  : ad
Pola tdk cocok   : adj
Simbol Karakter  : ?
Makna            : karakter di sebelah kirinya sifatnya
                   optional
Contoh           : rosih?an
Pola yang cocok  : rosihan, rosian
Pola tdk cocok   : rasihan, kasihan, rosiman
Simbol Karakter  : ( )
Makna            : karakter yang diapit tanda kurung ini harus cocok
Contoh           : m(ea)n
Pola yang cocok  : mean
Pola tdk cocok   : men, man
Simbol Karakter  : [ ]
Makna            : karakter yang diapit tanda kurung digunakan
                   salah satu
Contoh           : m[ea]n
Pola yang cocok  : men, man
Pola tdk cocok   : mean, mn
Simbol Karakter  : -
Makna            : menyatakan semua karakter antara dua karakter
Contoh           : m[a-c]n
Pola yang cocok  : man, mbn, mcn
Pola tdk cocok   : mdn, maan
Simbol Karakter  : +
Makna            : di sebelah kiri simbol boleh terdiri dari 1 atau
                   lebih karakter
Contoh           : m[a-c]+n
Pola yang cocok  : man, mbbbbbn, mcaabbcn
Pola tdk cocok   : mdn, mn
Simbol Karakter  : *
Makna            : di sebelah kiri simbol boleh terdiri dari 0 atau
                   lebih karakter
Contoh           : m[a-c]*n
Pola yang cocok  : man, mbbbbbbn, mcaabbacn, mn
Pola tdk cocok   : mdn, meen
Simbol Karakter  : {  ,  }
Makna            : menyatakan perulangan karakter
Contoh           : m{2, 5}n
Pola yang cocok  : maan, maaaan, maaaaan
Pola tdk cocok   : man, maaaaaaaaaan
Simbol Karakter  : {  |  |  }
Makna            : menyatakan alternatif string
Contoh           : m{aku|dia|saya}n
Pola yang cocok  : makun, mdian, msayan
Pola tdk cocok   : man, mkamun
Simbol Karakter  : /
Makna            : menyatakan karakter literal di sebelah kanan
                   simbol
Contoh           : m/-n
Pola yang cocok  : m-n
Pola tdk cocok   : mn, man

Nah dari penjelasan beberapa simbol di atas untuk menyatakan pattern yang akan kita gunakan, selanjutnya kita bisa mulai membuat contohnya.

Dalam contoh pertama ini, kita akan mengecek validitas email yang dimasukkan user via form.

<?php
$email = $_POST['email']; // membaca value email dari form

$pattern = "^.+@.+\.com$";
if (ereg($pattern, $email))
{
	echo "Email valid";
}
else echo "Email tidak valid";

?>

Contoh script di atas akan memvalidasi pola email. Dalam hal ini yang dianggap valid adalah email dengan format xxx@xxx.com

Penjelasan Pattern:

^.+ maksudnya adalah alamat email diawali dengan sebarang karakter dengan jumlah karakter 1 atau lebih.
@ maksudnya adalah dalam alamat email harus memuat simbol @. Setelah tanda @ berikutnya boleh diisi dengan sebarang karakter dengan panjang karakter 1 atau lebih (Lihat simbol .+). Berikutnya ada simbol \.com$. Simbol ini bermakna bahwa email (yang dianggap valid) harus berakhiran .com. Mengapa tanda titik di depan ‘com’ ini harus diawali dengan tanda slash (\)?. Seandainya tidak diberi tanda slash, maka titik ini akan dianggap simbol untuk pattern yang bermakna sebarang karakter tunggal (lihat penjelasan di atas).

Contoh lain penggunaan pattern matching, misalkan untuk validasi nomor telepon. Misalkan kita menganggap nomor telepon yang valid di Indonesia adalah berformat 0xxx-yyyyyyyy dengan aturan bahwa untuk ‘xxx’ (kode area) harus berupa angka 1-9, serta bisa dinyatakan dalam 2 sampai 3 digit. Sedangkan ‘yyyyyyyy’ adalah berupa angka dengan digit pertama harus angka 1-9 dan digit berikutnya berisi angka 0-9. Dalam hal ini total jumlah digit setelah kode area ini bisa 6 s/d 8.

Nah, bagaimana script pattern untuk mengecek validitas nomor telepon yang dimasukkan user via form? Ini dia scriptnya

<?php
$telp = $_POST['telp']; // membaca value no telp dari form

$pattern = "^0[1-9]{2,3}\-[1-9][0-9]{5, 7}";
if (ereg($pattern, $telp))
{
	echo "Nomor telepon valid";
}
else echo "Nomor telepon tidak valid";

?>

Semoga tutorial di atas membantu Anda. Jangan lupa untuk selalu mengunjungi blog ini, karena selalu ada tips dan trik programming yang OK punya.


Baca Juga Artikel Terkait
Penggunaan Function substring() di Query SQL
Penggunaan Function REPLACE() di SQL
Tentang Function str_replace()
Memformat Bilangan dengan Function number_format()
Mengambil Substring dari Suatu String dengan Function substr()



Slot iklan tersedia, pasang iklan di atas


Kata kunci: PHP -


Ada 4 komentar dalam artikel ini.



  1. santo says:

    klo untuk pengecekan nomor rekening bank bagaimana ??
    trus klo seandainya ada user masukin rekening bank “10-10-10-10″ biar pas masuk db selain angka yg boleh masuk bagaimana ??

    terima kasih

  2. itha says:

    met siang pa’
    saya mo nanya gmana ya rumus phpnya
    misalnya pada inputan kita beri nilai I maka ketika dienter akan muncul secara otomatis nilai 100…..
    contoh
    I…..100
    II….90 dst

    terimakasih………

  3. rendy says:

    mau nanya pak,. apa fungsi reg di php5.3 ada perubahan ya?

  4. gimana caranya saya untuk memvalidasi hanya huruf dan angka dan spasi saja. Jadi apaila ada karakter +,-,. itu tidak diperbolehkan
    ???



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*