Regular Expressions 101

Community Patterns

php input:date yyyy-mm-dd

3

Regular Expression
PCRE (PHP <7.3)

/
^((19\d{2})|(20\d{2}))-(((02)-(0[1-9]|[1-2][0-9]))|(((0(1|[3-9]))|(1[0-2]))-(0[1-9]|[1-2][0-9]|30))|((01|03|05|07|08|10|12)-(31)))$
/

Description

improved "Ahmed Z" regexp. PHP date format (and input[type=text] format date too): YYYY-MM-DD. Year between [1900-2099]. No leap year check. Month 02 is limited to 29 days.

Submitted by Oropesa - 9 years ago