]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Making ISO8601 parsing regex stricter
authorTim Wood <washwithcare@gmail.com>
Wed, 21 Mar 2012 17:01:53 +0000 (10:01 -0700)
committerTim Wood <washwithcare@gmail.com>
Wed, 21 Mar 2012 17:01:53 +0000 (10:01 -0700)
#215

moment.js
test/moment/create.js

index 3b2a46bf7a2cdbc3705adebe66ddec63ebea55f5..5392e30a636e6aeca8c3757e5ce77c5656feeebc 100644 (file)
--- a/moment.js
+++ b/moment.js
@@ -18,7 +18,7 @@
         timezoneRegex = /\([A-Za-z ]+\)|:[0-9]{2} [A-Z]{3} /g,
         tokenCharacters = /(\\)?(MM?M?M?|dd?d?d|DD?D?D?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|ZZ?|T)/g,
         inputCharacters = /(\\)?([0-9]+|([a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+|([\+\-]\d\d:?\d\d))/gi,
-        isoRegex = /\d{4}.\d\d.\d\d(T(\d\d(.\d\d(.\d\d)?)?)?([\+\-]\d\d:?\d\d)?)?/,
+        isoRegex = /^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d)?)?)?([\+\-]\d\d:?\d\d)?)?/,
         isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
         isoTimes = [
             ['HH:mm:ss', /T\d\d:\d\d:\d\d/],
index 7e9afa0400e039fa2da677a211f6f2f90904708d..3a68557e9dc4837374531f2e399c56b2485f4f1e 100644 (file)
@@ -47,6 +47,13 @@ exports.create = {
         test.done();
     },
 
+    "string from Date.toString" : function(test) {
+        test.expect(1);
+        var str = (new Date()).toString();
+        test.equal(moment(str).toString(), str, "Parsing a string from Date.prototype.toString should match moment.fn.toString");
+        test.done();
+    },
+
     "string without format - json" : function(test) {
         test.expect(5);
         test.equal(moment("Date(1325132654000)").valueOf(), 1325132654000, "Date(1325132654000)");