This is an All-in-one regular expression to valid dates in mm/dd/yyyy
, mm-dd-yyyy
, or mm.dd.yyyy
format.
/^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/
Matches:
- 12/08/2022
- 12-08-2022
- 12.08.2022
Non-matches:
- 13/08/2022
- 12-08/2022
- 2022/08/12
See Also:
- Date (dd/mm/yyyy) Regular Expression
- 24-Hour Time (HH:mm:ss) Regular Expression
- 12-Hour Time (hh:mm:ss) Regular Expression
- Regex To Match ISO 8601 Dates and Times
- RFC 2822 Date Format Regular Expression
- All-in-one Datetime Regular Expression