ISO 形式 (ISO 8601) の文字列判定
ISO 8601は日付と時刻の表記に関する国際規格。
// https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString new Date().toISOString() // => "2018-08-31T04:56:23.130Z"
const ISO8601_DATE_REGEX = /^\d{4}-?\d\d-?\d\d(?:T\d\d(?::?\d\d(?::?\d\d(?:\.\d+)?)?)?(?:Z|[+-]\d\d:?\d\d)?)?$/; ISO8601_DATE_REGEX.test('20101010'); // => true ISO8601_DATE_REGEX.test('2010-10-10'); // => true ISO8601_DATE_REGEX.test('2010-10-10T00'); // => true ISO8601_DATE_REGEX.test('2010-10-10T00:00'); // => true ISO8601_DATE_REGEX.test('2010-10-10T00:00:00'); // => true ISO8601_DATE_REGEX.test('2010-10-10T00:00:00.000'); // => true ISO8601_DATE_REGEX.test('2010-10-10T00:00:00.000Z'); // => true ISO8601_DATE_REGEX.test('2010-10-10T00:00:00.000+09:00'); // => true ISO8601_DATE_REGEX.test('2010-1-10'); // => false ISO8601_DATE_REGEX.test('2010-10-10T'); // => false ISO8601_DATE_REGEX.test('2010-10-10T00:00:00000'); // => false