Friday, July 13, 2012

RegExp

Objek RegExp adalah objek standard JavaScript 1.2+, JScript 3.0+, ECMAScript 3.0+ dan didukung Google Chrome Beta+, Firefox 1.0 (Gecko 1.7)+, Internet Explorer 4.0+, Netscape Navigator 4.0+, Opera 6.0+, Safari 1.0+.

Objek RegExp di JavaScript memungkinkan anda melakukan pencarian dan pencocokan pattern terhadap string target. Bentuk sintaksnya ada dua:

Menggunakan notasi literal, pastikan tidak menggunakan tanda kutip:

var regexObj = /pattern/flags;

Menggunakan pembangun objek RegExp, pastikan menggunakan tanda kutip:

var regexObj = new RegExp("pattern","flags");

Parameter pattern berisi pola dari regular expression. Parameter flags (opsional) mempunyai salah satu dari 3 nilai berikut:

  • g: melakukan pencocokan global.
  • i: melakukan pencocokan case-insensitive.
  • gi: melakukan pencocokan global dan case-insensitive.

Contoh berikut hanya menguji apakah kata 'kucing' ada di dalam string target bernama stringObj. Contoh ini menggunakan RegExp.test() untuk mengujinya, jika true berarti kata 'kucing' ditemukan, false sebaliknya:

var stringOb = "Saya mempunyai kucing dirumah."; var regexObj = new RegExp("kucing"); document.write(regexObj.test(stringObj)); // true

Jika ingin mencocokkan kata 'kucing' di akhir string saja (tidak di awal maupun di tengah string), di sini perlu menambahkan karakter $, dan menjadi berikut:

var regexObj = new RegExp("kucing$");

Jika ingin mencocokkan kata 'kucing' dengan mengabaikan besar kecilnya huruf, misalnya anda ingin kata 'kucing' yang di cari akan cocok dengan 'kucing', 'Kucing' di dalam 'KucingHitam', atau 'KUCING', maka perlu menggunakan flag i. Sebagai contoh:

var regexObj = /kucing/i;

Atau seperti ini:

var regexObj = new RegExp("kucing","i");

Jika ingin mencocokkan pattern terhadap keseluruhan string, gunakan flag g.

Untuk jelasnya mengenai pattern, anda bisa ke halaman Karakter Khusus untuk RegExp JavaScript.