Regular Expressions 101

Community Patterns

Community Library Entry

18

Regular Expression
Recommended
PCRE (PHP <7.3)

/
^(0[1-9]|1\d|2[0-8]|29(?=-\d\d-(?!1[01345789]00|2[1235679]00)\d\d(?:[02468][048]|[13579][26]))|30(?!-02)|31(?=-0[13578]|-1[02]))-(0[1-9]|1[0-2])-([12]\d{3}) ([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$
/
gm

Description

Validate and capture dateTime parts, includes validation for leap years, range 1000-2999. Fixed bug

Submitted by Ka. - 12 years ago