Saturday, July 14, 2007

test and exec of Javascript Regular Expression


<script type="text/javascript" charset="utf-8">
var p = new RegExp("http", "i");
document.write(p.test("Http://www.google.com"));

var customer = "Alan Turing 555-1212";
var pattern = /(\w+) \w+ ([\d-]{8})/;
document.write("<br/>" + pattern.test(customer));
if (pattern.test(customer))
{
document.write("<br/>Groups Results:");
document.write(RegExp.$1 + " " + RegExp.$2);
}

var cat = new RegExp("cat", "im");
var inputStr = "where is the white cat and the blank cat?";
var rs = cat.exec(inputStr);
document.write("<br/><br/>rs.length = " + rs.length);
document.write("<br/>rs.index = " + rs.index);
document.write("<br/>cat.global = " + cat.global);
document.write("<br/>cat.multiline = " + cat.multiline);
document.write("<br/>cat.ignoreCase = " + cat.ignoreCase);
document.write("<br/>cat.source = " + cat.source);
document.write("<br/>cat.lastIndex = " + cat.lastIndex);
document.write("<br/>rs.input = " + rs.input);
document.write("<br/>");
document.write("<br/>RegExp['$_'] = " + RegExp['$_']);
document.write("<br/>RegExp['$&] = " + RegExp['$&']);
document.write("<br/>rs = " + rs);

var lucky = "The lucky numbers are 3, 14, and 27";
var pattern = /\d+/;
document.writeln("<br/>" + "Without global we get:");
document.writeln("<br/>" + pattern.exec(lucky));
document.writeln("<br/>" + pattern.exec(lucky));
document.writeln("<br/>" + pattern.exec(lucky));
pattern = /\d+/g;
document.writeln("<br/>" + "With global we get:");
document.writeln("<br/>" + pattern.exec(lucky));
document.writeln("<br/>" + pattern.exec(lucky));
document.writeln("<br/>" + pattern.exec(lucky));
</script>

No comments :