Regular Expression PHP

Ini merupakan usulan teman saya untuk belajar bareng membahas tentang Expresi Regular pada PHP. Menarik sekali jika kita menguak kehebatan dari salah fungsi bawaan PHP ini. Mungkin bagi Anda yang terbiasa bekerja di lingkungan UNIX sudah tidak asing dengan expresi regular ini, seperti awk dan grep. Secara singkat expresi regular ini menyediakan cara untuk memanipulasi dan mencocokan string sesuai dengan formula yang dibikin. Kemampuan yang bisa ditangani oleh ereg ini antara lain validasi email, validasi angka, huruf, kombinasi keduanya dan lain2. Yang bagusnya, fungsi ini dieksekusi di server side tidak seperti javascript yang dieksekui di client side, sehingga lebih aman.


Banyak sekali jenis fungsi regular expression yang disediakan oleh PHP. Saya sama teman saya hanya membahas beberapa saja yang dianggap mudah dan mendasar (intinya mah malas belajar he he…). Fungsi yang dibahas adalah ereg, rumusnya ereg(pola, sumber)

1. Memeriksa suatu substring yang berada dalam suatu string (bingung nya…, sama). Contoh1: ereg(“pono”, “Supono”) = TRUE
Contoh2: ereg(“poy”, “supono”) = FALSE
Akan menghasilkan nilai TRUE jika string pada pola cocok dengan string pada sumber.
Akan menghasilkan nilai FALSE jika pola tidak cocok dengan string pada sumber.
Kalau diatas akan menghasilkan nilai true, karena pola string “pono” terdapat pada sumber “Supono”.

2. Mencocokan di awal string
Melakukan pencarian suatu substring yang terletak diawal suatu string.
Contoh1: ereg(“^susu”, “susu itu baik untuk kesehatan”) = TRUE
Contoh2: ereg(“^susu”, “aku suka susu, terutama susu murni”) = FALSE

3. Mencocokan di akhir string
Melakukan pencarian suatu substring yang terletak akhir suatu string.
Contoh1: ereg(“supono$”, “orang ganteng itu bernama supono”) = TRUE
Contoh2: ereg(“supono$”, “dia itu supono orang yang jelek”) = FALSE

4. Memeriksa keberadaan sebuah karakter
Memeriksa suatu string apakah mengadung karakter sesuai dengan pola atau tidak. Contoh kita akan mencari suatu string yang mengandung huruf vokal (a,i,u,e,o) dari sebuah sumber.
Contoh1: ereg(“[aiueo]”, “poy”) = TRUE
Contoh2: ereg(“[aiueo]”, “spn”) = FALSE
Contoh3: ereg(“[aiueo]”, “ono”) = TRUE
Contoh4: ereg(“[a-z]”, “supono”) = TRUE //mengecek huruf a kecil s/d z kecil

5. Pengulangan Sejumlah Karakter
Mengecek substring dasi string dengan pengulangan sesuai dengan pola.
Contoh1: ereg(“o{2}”, “pooy”) = TRUE // mencocokan 2 huruf 0 secara berurutan
Contoh2: ereg(“o{2}”, “pono”) = FALSE

6. Karakter + . ? dan *
Untuk melihat pemakaiannya dapat dilihat pada contoh dibawah.
Contoh1: ereg(“s*”, “supono”) = TRUE // mengadung s atau tidak mengadung s
Contoh2: ereg(“s”, “pono”) = TRUE
Contoh2: ereg(“s?”, “pono”) = TRUE // mirip seperti *
Contoh3: ereg(“s+”, “supono”) = TRUE // harus mengandung s minimal satu s
Contoh4: ereg(“s+”, “pono”) = FALSE
Contoh4: ereg(“s.*”, “supono”) = TRUE // mengandung s dan diikuti oleh nol karakter atau beberapa karakter.

Jika melibatkan simbol, maka gunakan tanda \ (backslash). Contoh : [0-9\.]

Contoh:
Kita akan mengecek kode pos, biasanya harus mengisi 4 angka dan tidak boleh diawali dengan angka NOL.
ereg(“^[1-9][0-9]{4}$”, $kode_pos)
keterangan:
^ = memeriksa awal string (lihat keterangan nomor 2 diatas)
[1-9] = memeriksa awal string harus dimulai dengan angka 1 s/d 9 atau dengan kata lain tidak mengijikan memasukan angka 0.
[0-9] = memeriksa string angka 0 s/d 9
{4} = melakukan pengulangan sejumlah 4 kali setelah string awal [1-9], jadi hasilnya akan menghasilkan 5 angka.
$ = akhir dari sebuah pola string

Kalau ^\-?[0-9]*\.?[0-9]*$ kira-kira apa artinya ayo…
Memang tidak dipungkiri bahwa sekarang ini kita ga mau pusing dengan coding-coding seperti diatas, karena sudah bertebaran script-script yang sudah dibikin oleh orang lain alias tinggal pake baik itu berbentuk fungsi atau class, tapi alangkah baiknya untuk memahami dasar-dasarnya.

Iklan
By Supono Posted in PHP

18 comments on “Regular Expression PHP

  1. mmm..memang ereg ini cukup bermanfaat, dan umumnya digunakan pula kalo kita combine PHP dengan JavaScript, alias AJAX. Biasanya untuk validasi input field, value yang diambil secara asynchronous oleh Js akan di passing ke kode PHP berisi validasi menggunakan ereg, lalu tanpa klik button submit, user langsung dapat mengetahui, apakah value dari input field yang diisi valid atau tidak…

    Sangat bermanfaat..

    K

  2. # To Mr.K:
    Wah maenanya AJAX terus, nih, kalau saya mah lebih suka liga Inggris, terutama Mencester United.

    # To Deni:
    Sama

    # To adit:
    Ah si mas adit ini mah suka pura2, kan yang dulu ngajarin situ he he. Yang GREP -IR tea geuning. Sama kan di Mac Book juga.

  3. @MR.K
    karena AJAX singakatan dari Asynchronous Java script and XML, coba klo nama teknologinya Persatuan Sepak Bola Bandung pasti namanya PERSIB ๐Ÿ˜›

  4. # To Charles:
    Iya, saya juga terheran-heran, kok bisa seperti itu.

    # To Mr.K:
    Persib kan milik orang Bandung, AJAX milik nya W3C

    # To cana:
    Yu….

  5. # To spypark.reborn:
    Ayeuna mah geus teu lieur kan?

    # To cahyo:
    Sama-sama

    # To udo:
    Terima kasih

    # To SoMuCHh@Te:
    Yo, kita blajar bareng

    # To coba:
    Yowis kalau udah terjawab, thx dah mampir

  6. kalau membuat inisialisasi huruf konsonan atau vokal bagaimana?
    misalnya inputan โ€œsaya makanโ€
    hasilnya
    1. saya = kvkv
    2. makan = kvkvk
    ket:
    k = konsonan
    v = vokal
    terimakasi

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s