Для этого вы можете использовать обычное выражение:
if (preg_match('#^\d\d/\d\d/\d\d\d\d$#', $str)) {
#
- это просто разделители preg_match.^
и $
отмечают начало и конец сопоставляемого объекта.И каждый \d
является заполнителем, который будет соответствовать десятичному числу./
- это буквальные косые черты, которые будет проверять preg_match.
Вы также можете добавить (
capture )
группы для проверки соответствия отдельных десятичных блоков.Я бы сделал это отдельно, чтобы проверить наличие чередующихся форматов.Но для ваших целей это может быть:
if (preg_match('#^(0\d|10|11|12)/([0-2]\d|30|31)/(19|20)\d\d$#', $str)) {