Вводить нужно конкретно в формате ММ / ДД / ГГГГ - PullRequest
0 голосов
/ 23 марта 2011

Как применить оператор if в поле ввода, если я хочу, чтобы ввод был точно в формате MM / DD / YYYY? Любой другой ввод, который отличается от этого формата, я бы вывел сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 23 марта 2011

Почему бы не использовать выпадающий список?Один за месяц, один за день, один за год.

0 голосов
/ 23 марта 2011

Для этого вы можете использовать обычное выражение:

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)) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...