Проверка формата даты с использованием регулярного выражения - PullRequest
3 голосов
/ 18 ноября 2011

Используя регулярное выражение, как бы я проверил дату, чтобы убедиться, что она вводится только в следующем формате: мм / дд / гггг?

Если кому-то интересно, я использую validates_format_of :date_field, :with => // в модели Ruby.

Ответы [ 2 ]

5 голосов
/ 18 ноября 2011

Regex для этого формата может выглядеть так:

^\d{2}\/\d{2}\/\d{4}$
3 голосов
/ 18 ноября 2011

@ hsz ответ правильный. Если вам нужно также подтвердить саму дату, вы можете использовать это:

/^(?:0?[1-9]|1[0-2])/(?:0?[1-9]|[1-2]\d|3[01])/\d{4}$/

Редактировать:

Как сказал @Tim, это не 100% валидатор регулярных выражений. Смотрите его связанный ответ для этого.

if subject =~ /\A(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|[1-2]\d|3[01])\/\d{4}\Z/
    # Successful match

Редактировать # 2: вышеуказанная версия для Ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...