Strange regexp related javascript problem
by daybarr
HTML
<p>For stackoverflow question <a href="http://stackoverflow.com/q/4178970/445073">Strange regexp related javascript problem</a></p>
<div id="log"></div>
CSS
p {margin: 1ex 0}
JavaScript
$(function(){
var log = function(msg) {
$('#log').append($('<div/>').text(JSON.stringify(msg)));
};
// Without global flag
var parseDate = function(datestr) {
var dtmp = /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/.exec(datestr);
log(dtmp);
};
// With global flag
var parseDateGlobal = function(datestr) {
var dtmp = /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/g.exec(datestr);
log(dtmp);
};
var datestr = '2008-01-12';
parseDate(datestr); // works
parseDate(datestr); // works
parseDateGlobal(datestr); // works
parseDateGlobal(datestr); // null!
});