I would like to make a validation for date. the date has many formats:
European and American styles. Also, number, shortcut or even the month full name.

I used `Date.parse()` but it's not accurate and it has many issues. For example: it doesn't pay attention to the leap year. Also, I added "35/02/2008" without giving me any exception.

I tried regular expression but all of what I found has an issue.
None of them cover the whole possibilities.

Please advise!