В начале должен быть день до точки. Минимум 01, максимум 31. Итого первая цифра может быть от 0 до 3.
[0-3]
Вторая цифра может быть от 0 до 9: 10, 19:
[0-9]
При этом надо исключить дату в виде 00, поэтому сделаем через 2 проверки через ИЛИ, то есть если первая цифра 0, то далее только 1-9, если 1-3, то 0-9. Кроме этого не может быть 32+, значит нужна ещё одна проверка на то, чтобы цифра была не выше 1, если первая цифра 3. Получаем
((0[1-9])|([1-2][0-9])|(3[0-1]))\.
Вот по аналогии действуем дальше. Этот метод САМЫЙ дубовый, но позволяет изучить регулярки так, как тебе надо.
А можно через explode('.') разбить, получится 3 независимый строчки, далее проверяешь на длину строки: strlen должен быть 2(!), иначе формат неверный.
Методов множество, старайся более рассматривать другие варианты в программировании...
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).