Regular
expressions adalah pola yang digunakan untuk membandingkan kecocokkan
kombinasi karakter di dalam string. Dalam JavaScript, regular
expressions juga merupakan objek. Pola ini digunakan bersama dengan
method seperti exec dan test dari objek RegExp, dan dengan method
seperti match, replace, search, and split methods of String.
Dalam kode HTML di atas sudah ada contoh script yang menggunakan method test dan replace. Untuk penggunaan split, saya mungkin akan membahasnya secara terpisah. Semoga kalian bisa paham dengan contoh yang saya berikan. Selamat belajar!!!
Cara
untuk membuat atau mendeklarasikan variabel regular expression yaitu
dengan mengapitnya diantara tanda garis miring (/), atau dengan
membuatnya menggunakan konstruktor. Jika regular expression tidak akan
diubah, mengapit dengan "/" adalah pilihan terbaik. Tapi, jika regular
expression ingin diubah, gunakan konstruktor!
- regex=/123.4/;
- var regex = new RegExp('123.4');
Tanda . bukan digunakan untuk menandakan bilangan desimal,
tapi itu adalah karakter khusus yang berarti bahwa di posisi tersebut
boleh digantikan dengan satu karakter apapun. /123.4/ bisa dianggap
seperti 123a4, 123b4, 123c4, dst. Intinya, tanda . bisa berarti satu
karakter apapun.
Selain +, ada
beberapa karakter khusus lainya. Salah satunya adalah asterisk (*) yang
menggantikan karakter sebanyak 0 atau lebih. /123*4/ bisa sama dengan
1234, 123abc4, 123bcd4, 123cdef4, dll. Karakter-karakter lain yang bisa
kita gunakan dalam RegExp adalah :
- . => satu karakter
- ? => satu karakter atau tidak ada sama sekali
- + => satu karakter atau lebih.
- * => satu karakter atau lebih, bisa juga tidak ada sama sekali.
- \ => untuk menandai bahwa karakter setelahnya bukan karakter khusus dari RexExp. contohnya /1\+2/ cocok dengan 1+2.
- $ => karakter "terakhir"
- {...}
- [abc...] => Karakter bisa digantikan dengan karakter di antara tanda [ dan ]
- [^abc...] => bukan karakter di antara [ dan ]
- (...)
Beberapa method yang bisa digunakan untuk memanfaatkan RegExp, yaitu :
Method | Description |
---|---|
exec | Membandingkan RegExp dengan string dan mengembalikan ketidakcocokannya dalam Array. |
test | Membandingkan RegExp dengan seluruh string, dan mengembalikan true jika ada kecocokan, atau false jika sebaliknya. |
match | Membandingkan String dengan RegExp dan mengembalikan ketidakcocokannya dalam Array. |
search | Method string yang mengetes kecocokan dalam string. Ini mengembalikan index dari kecocokannya, atau -1 jika tidak ada kecocokannya. |
replace | Method string yang melakukan pencarian substring di dalam string, dan mengganti substring yang cocok dengan substring pengganti. |
split | Method string yang menggunakan regular expression atau string untuk memotong string menjadi beberapa bagian. |
Contoh penggunaan RegExp dan method yang terkait dengan regexp :
<HTML>
<HEAD>
<TITLE>Belajar HTML</TITLE>
</HEAD>
<BODY>
<Script>
var s='cobalah ini';
var myRe = /coba[^l]ah/;
if(myRe.test('cobaxah') > -1)document.write("sama");
s=s.replace(/coba.../, "Jangan coba");
alert(s);
</Script>
</BODY>
</HTML>