Post on 23-Aug-2014
JavaScript (Regular Expressions)
Erick Kurniawan, S.Kom
Regular Expressions
Diperkenalkan pada javascript versi 1.2Menggunakan RegExp objectDigunakan untuk mengecek inputan user (argumen yang diinputkan user)Syntax dari regular expressions biasanya diapit“/” dan “/”Contoh
var pattern = /http/;
var patternIgnoringCase = /http/i;
Flags dalam Regular Expressions
Multiline matching.M
Global match. Finds all matches in the string, rather than just the first.
G
Case-insensitive.IMeaningCharacter
Regular ExpressionsDapat dibuat dengan menggunakan RegExp() konstruktorContoh 1:
var pattern = new RegExp("http"); var patternIgnoringCase = new RegExp("http", "i");
Method yang biasa digunakan adalah test()Contoh 2:
var pattern = new RegExp("http");pattern.test("HTTP://WWW.W3C.ORG/");//return false regex1.html
Regular Expressions
Contoh 3:var patternIgnoringCase = new RegExp("http", "i");patternIgnoringCase.test("HTTP://WWW.W3C.ORG/"); //return true regex2.html
Contoh 3:var pattern = /^http$/; pattern.test("HTTP://WWW.W3C.ORG/");//return false
Regular Expression Escape Codes
Period .\. Period .
Backslash \\\ Backslash \
Foreslash /\/ Foreslash /Vertical tab\v Vertical tab Tab\t Tab
Carriage return\r Carriage return Newline\n NewlineForm feed\fMatchesCode
Regular Expression Escape Codes
Right bracket ]\] Right bracket ]Left bracket [\[ Left bracket [
Right parenthesis )\) Right parenthesis )
Left parenthesis (\( Left parenthesis (
Horizontal bar, aka Pipe |\| Horizontal bar, aka Pipe |Question mark ?\? Question mark ?Plus sign +\+ Plus sign +Asterisk *\* Asterisk *
Regular Expressions
Contoh (untuk alamat website):var pattern = /http:\/\/www\.w3c\.org\//;
Repetition Quantifiers var pattern = /ab?c/;var pattern = /ab{5}c/;
var pattern = /abbbbbc/;var pattern = /ab{5,7}c/;var pattern = /ab{3,}c/;
Repetition Quantifiers
Match previous item exactly m times.{m}Match previous item m or more times.{m, }
Match previous item at minimum m times, but no more than n times.
{m, n}Match previous item zero or one times.?Match previous item one time or more.+Match previous item zero or more times.*MeaningCharacter
Regular Expressions
Groupingvar pattern = /a(bc)+/;var pattern = /(very){3,5} hot/;
Character Classesvar pattern = /[pbm]ill/;var pattern = /[1234567890]+/; var pattern = /[0-9]+/; var pattern = /[a-z]/;var pattern = /[a-zA-Z0-9]/;var pattern = /^[a-z][a-z0-9_-]*/i; //untukno telp?
Regular Expressions
Grouping (Not)var pattern = /[^a-zA-Z]+/;
Common Character Classes var pattern = /abc..d/;var pattern = /^\d{3}-\d{3}-\d{4}$/;
Alternatives var pattern = /^(http|ftp|https)/;var pattern = /(James|Jim|Charlie) Brown/;
Character Classes
A backspace character.[\b]
A word non-boundary. The empty “space” between word characters.
\BA word boundary. The empty “space” between a \w and \W.\bAny non-digit. Same as [^0-9].\DAny digit. Same as [0-9].\dAny non-whitespace character. Same as [^ \t\n\r\f\v].\SAny whitespace character. Same as [ \t\n\r\f\v].\sAny non-word character. Same as [^a-zA-Z0-9_].\WAny word character. Same as [a-zA-Z0-9_].\wAny character except newline..
Any one character not between the brackets represented explicitly or as a range.
[^chars]
Any one character indicated either explicitly or as a range between the brackets.
[chars]
MeaningCharacter
Examples
abc.44.55.42128.22.45.
128.22.45.1/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
attention, tensile, often
ten/\bten\b/ten, 1ten aten1/\wten\w/ten, tentsten /\Wten\W/Does Not MatchMatchesRegular Expression