diff --git a/src/constant.js b/src/constant.js index b253c74..6cab7be 100644 --- a/src/constant.js +++ b/src/constant.js @@ -26,5 +26,5 @@ export const FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ssZ' export const INVALID_DATE_STRING = 'Invalid Date' // regex -export const REGEX_PARSE = /^(\d{4})-?(\d{1,2})?-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/ +export const REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/ export const REGEX_FORMAT = /\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g diff --git a/test/parse.test.js b/test/parse.test.js index e84a244..6302d89 100644 --- a/test/parse.test.js +++ b/test/parse.test.js @@ -1,6 +1,7 @@ import moment from 'moment' import MockDate from 'mockdate' import dayjs from '../src' +import { REGEX_PARSE } from '../src/constant' beforeEach(() => { MockDate.set(new Date()) @@ -125,3 +126,12 @@ it('Clone with same value', () => { const another = newBase.clone() expect(newBase.toString()).toBe(another.toString()) }) + +describe('REGEX_PARSE', () => { + it('2020/9/30', () => { + const date = '2020/9/30' + const d = date.match(REGEX_PARSE) + expect(dayjs(date).valueOf()).toBe(moment(date).valueOf()) + expect(d.join('-')).toBe('2020/9/30-2020-9-30----') + }) +})