//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Definitely invalid ISO strings // Field value outside valid range 0001-00-01T01:01:01.001Z Invalid Date 0001-13-01T01:01:01.001Z Invalid Date 0001-01-00T01:01:01.001Z Invalid Date 0001-01-32T01:01:01.001Z Invalid Date 0001-01-01T25:01:01.001Z Invalid Date 0001-01-01T01:01:01.001+25:00 0000-12-31T00:01:01.001Z -62135683138999 === -62135683138999 0001-01-01T01:60:01.001Z Invalid Date 0001-01-01T01:01:01.001+00:60 0001-01-01T00:01:01.001Z -62135596738999 === -62135596738999 0001-01-01T01:01:60.001Z Invalid Date // Time value outside valid range -300000-01-01T01:01:01.001Z Invalid Date +300000-01-01T01:01:01.001Z Invalid Date Total: 11 Accepted: 2 Rejected: 9 Failed: 0 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Potential cross-browser compatibility issues // Leading and trailing whitespace, nulls, or non-whitespace non-nulls 0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Zx Invalid Date \00001-01-01T01:01:01.001Z Invalid Date 0001-01-01T01:01:01.001Z\0 Invalid Date 0001-01-01T01:01:01.001Z\0x Invalid Date \x090001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x09 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x09x Invalid Date \x0a0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0a 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0ax Invalid Date \x0b0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0b 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0bx Invalid Date \x0c0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0c 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0cx Invalid Date \x0d0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0d 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\x0dx Invalid Date 0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z x Invalid Date \xa00001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\xa0 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\xa0x Invalid Date \u20280001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\u2028 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\u2028x Invalid Date \u20290001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\u2029 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\u2029x Invalid Date \ufeff0001-01-01T01:01:01.001Z 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\ufeff 0001-01-01T01:01:01.001Z -62135593138999 === -62135593138999 0001-01-01T01:01:01.001Z\ufeffx Invalid Date // Less and more digits per field 001-01-01T01:01:01.001Z Invalid Date 00001-01-01T01:01:01.001Z Invalid Date 0001-1-01T01:01:01.001Z Invalid Date 0001-001-01T01:01:01.001Z Invalid Date 0001-01-1T01:01:01.001Z Invalid Date 0001-01-001T01:01:01.001Z Invalid Date 0001-01-01T1:01:01.001Z Invalid Date 0001-01-01T001:01:01.001Z Invalid Date 0001-01-01T01:1:01.001Z Invalid Date 0001-01-01T01:001:01.001Z Invalid Date 0001-01-01T01:01:1.001Z Invalid Date 0001-01-01T01:01:001.001Z Invalid Date 0001-01-01T01:01:01.01Z 0001-01-01T01:01:01.010Z -62135593138990 === -62135593138990 0001-01-01T01:01:01.0001Z 0001-01-01T01:01:01.000Z -62135593139000 === -62135593139000 // Date-only forms with UTC offset 0001Z Invalid Date 0001-01Z Invalid Date 0001-01-01Z 0001-01-01T00:00:00.000Z -62135596800000 === -62135596800000 // Optionality of minutes 0001-01-01T01Z Invalid Date 0001-01-01T01:01:01.001+01 0001-01-01T00:01:01.001Z -62135596738999 === -62135596738999 // Time-only forms T01:01Z Invalid Date T01:01:01Z Invalid Date T01:01:01.001Z Invalid Date // Field before missing optional field ending with separator 0001- Invalid Date 0001-01- Invalid Date 0001-T01:01:01.001Z Invalid Date 0001-01-T01:01:01.001Z Invalid Date 0001-01-01T01:01:Z Invalid Date 0001-01-01T01:01:01.Z Invalid Date // Optionality and type of sign on years +0001-01-01T01:01:01.001Z Invalid Date -0001-01-01T01:01:01.001Z Invalid Date 010000-01-01T01:01:01.001Z Invalid Date -000000-01-01T01:01:01.001Z Invalid Date // Test support for zones without colons (DEVDIV2: 481975) 2012-02-22T03:08:26+0000 2012-02-22T03:08:26.000Z 1329880106000 === 1329880106000 // Test support for zones(Issue#1402:OS8026281) Wed Jul 22 16:04:54 2016 +0000 2016-07-22T16:04:54.000Z 1469203494000 === 1469203494000 Wed Jul 22 16:04:54 +0000 2016 2016-07-22T16:04:54.000Z 1469203494000 === 1469203494000 Wed Jul 22 +0000 16:04:54 2016 Invalid Date Wed Jul +0000 22 16:04:54 2016 Invalid Date Wed +0000 Jul 22 16:04:54 2016 Invalid Date +0000 Wed Jul 22 16:04:54 2016 Invalid Date Wed Jul 22 16:04:54 2016 2016-07-22T23:04:54.000Z 1469228694000 === 1469228694000 Total: 76 Accepted: 30 Rejected: 46 Failed: 0