I want to validate that a date can comply with multiple formats like the following dates:
const dates=
["02/01/2021", // DD/MM/YYYYY
"02/2021/01", // MM/YYYY/DD
"2021/02/01", // YYYY/MM/DD
"02-01-2021", // DD-MM-YYYYY
"02-2021-01", // MM-DD-YYYY
"2021-02-01", // YYYY-MM-DD
"02012021", // DDMMYYYYY
"02202101", // MMDDYYYYY
"20210201", // YYYYYMMDD
"122344"]; // Wrong format
I am using date-fns to do it, but currently in this live code, I am not getting the expected result. I need all dates to be valid except the last one, how can I do it?
live code:
https://codesandbox.io/s/date-fns-example-forked-4p346k?file=/src/index.js:23-724
import "./styles.css";
import {
isValid,
parseISO
} from "date-fns";
const dates=
["02/01/2021", // DD/MM/YYYYY
"02/2021/01", // MM/YYYY/DD
"2021/02/01", // YYYY/MM/DD
"02-01-2021", // DD-MM-YYYYY
"02-2021-01", // MM-DD-YYYY
"2021-02-01", // YYYY-MM-DD
"02012021", // DDMMYYYYY
"02202101", // MMDDYYYYY
"20210201", // YYYYYMMDD
"122344"]; // Wrong format
dates.forEach((date)=>{
console.log(date, isValid(parseISO(date)));
});