Monday, February 10, 2014

Regular Expression Validation

Regular Expression 
Validasi user input adalah suatu keharusan, karena, memastikan data yang diinput oleh user sesuai dengan pola atau susuan data yang diinginkan. Beruntung, JavaScript sudah menyediakan Regular Expression yang dapat digunakan untuk menyusun pola-pola yang sesuai dengan data yang akan diinput oleh user. Sehingga, data yang tidak sesuai dengan pola tersebut, akan ditolak. 

Pattern 

Regular Expression adalah sebuah bahasa yang berhubungan dengan Pattern atau pola, Pattern yang anda buat, dapat anda gunakan untuk mencocokan, mencari, memisahkan terhadap data yang diinput oleh user atau data lainya. Misalnya, anda punya suatu kalimat, anda ingin mencari berapa kata yang mengandung kata internet, atau anda ingin memisahkan data berdasarkan tanda koma, atau mencocokan data susuai dengan pola penulisan email yang benar. 
Berikut ini adalah syntax Regular Expression Object: 

var RegularExpression = new RegExp( “pattern”, [“switch”] ); 

Berikut ini adalah syntax alternatif: 

var RegularExpression = /pattern/[switch] 

Berikut ini contoh sebuah Pattern: 

/(^\d{5}$)|(^\d{5}-\d{4}$)/ 

Bila anda baru pertama kali menggunakan Regular Expression, tentu akan tepesona melihat bentuk pola dalam Regular Expression. Pola atau pattern pada Regular Expression terdari dari simbol-simbol yang mengandung arti. Berikut ini adalah penjelasan untuk contoh pola diatas: 
• ^ menandakan awal dari string 
• \d menandakan digit 
• {5} menandakan perulangan karakter yang didepanya sebanyak 5 
• | menandakan optional 
• $ menandakan akhir dari string 

Pattern Character
Berikut ini daftar karakter berdasarkan kategori:
Posisi
Simbol
Fungsi
^
Hanya sesuai dengan awal string
/^P/ hanya cocok dengan P pada awal kalimat "Paul Peterson, President."
$
Hanya sesuai dengan akhir string
/t$/ hanya cocok dengan t pada akhir kalimat "A cat in the hat"
Literal/Harfiah
Simbol
Fungsi
\n
Karakter new line
\r
Karakter carriage return
\t
Karakter horizontal tab
\+
Karakter +
\.
Karakter .
\?
Karakter ?
\|
Karakter |
\[
Karakter [
\]
Karakter ]
\{
Karakter {
\}
Karakter }
Character Class
Simbol
Fungsi
[AbCd]
Cocok dengan satu karakter yang berada diantara tanda [ dan ]
/[AN]BC/ pola tersebut cocok dengan kata ABC atau NBC
[^xyz]
Cocok dengan satu karakter yang tidak berada diantara tanda [ dan ]
/[^AN]BC/ pola tersebut cocok dengan kata RBC atau QBC bukan ABC atau NBC
.
Cocok dengan satu karakter
/b.t/ pola tersebut cocok dengan kata bet, bit, atau bot
\w
Cocok dengan satu buah karakter a sampai dengan z, A sampai dengan Z, _, dan 0 sampai 9
\W
Cocok dengan satu buah karakter selain dari a sampai dengan z, A sampai dengan Z, _, dan 0 sampai 9
\d
Cocok dengan satu buah digit atau bilangan
\D
Cocok dengan satu buah karakter selain digit atau bilangan
\s
Cocok dengan satu buah karakter space, seperti: \t,\r,\n,\v,\f
\S
Cocok dengan satu buah karakter selain space
Repetisi
Simbol
Fungsi
{n}
Cocok dengan n kali
\d{5} maksudnya cocok dengan 5 kali digit, misalnya 09876 atau 12345
{n,}
Cocok dengan minimal n kali atau lebih
\d{5,} maksudnya cocok dengan minimal 5 kali digit, misalnya 09876 atau 1234512345
{n,m}
Cocok dengan minimal n kali, maximal m kali
\d{2,3} maksudnya cocok dengan 2 kali digit sampai dengan 3 kali digit, misalnya 02 atau 123
?
Cocok dengan nol atau satu kali. sama dengan simbol {0,1}
\a?b\ bisa ab atau acb
*
Cocok nol kali atau lebih. sama dengan simbol {0,}
\a*b\ bisa ab atau acb atau acdfb
+
Cocok minimal satu kali atau lebih. sama dengan simbol {1,}
\a*b\ bisa asb atau acb atau acdfb
Alternatif dan Grup
Simbol
Fungsi
()
Simbol untuk grup
/(abc)+/ maksudnya grup atau karakter dari abc akan berulan minimal satu kali
|
Simbol untuk alternatif
/(abc)|(xyz)|(def)/ maka, pilihanya adalah abc, xyz atau def
Pattern Switch
Simbol
Fungsi
i
case sensitive, maksudnya, huruf besar atau kecil sama saja
/ab/i pola tersebut bisa ab, AB, aB atau Ab

No comments:

Post a Comment

Disqus Shortname

Comments System

Disqus Shortname

Comments system