Подтвердить что ты не робот

Проверка даты реггей для yyyy-mm-dd

что такое регулярное выражение для формата даты yyyy-mm-dd?

Я хочу проверить электронную почту от edittext и проверить, совпадает ли она с регулярным выражением.

4b9b3361

Ответ 1

Попробуйте следующее:

^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$

Regular expression visualization

или использовать его, если вам нужно найти дату внутри строки, например The date is 2017-11-30

\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])*

https://regex101.com/r/acvpss/1

Ответ 2

Простым будет

\d{4}-\d{2}-\d{2}

Regular expression visualization

Демоверсия Debuggex

но это не ограничивает месяц до 1-12 и дней от 1 до 31.

Есть более сложные проверки, как в других ответах, кстати довольно умные. Тем не менее вам нужно проверить действительную дату, потому что нет проверок, если месяц имеет 28, 30 или 31 день.

Ответ 3

Вы можете использовать шаблон регулярных выражений для формата даты (yyyy-mm-dd):

((19 | 20)\д\г) - (0 [1-9] | 1 [012]?) - (0 [1-9] |? [12] [0-9] | 3 [ 01])

Вы можете найти пример для проверки даты в следующей ссылке:

Как проверить дату с регулярным выражением

Ответ 4

вы можете проверить это выражение:

^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$

Описание:
проверяет дату yyyy-mm-dd, yyyy mm dd или yyyy/mm/dd

гарантирует, что день находится в допустимом диапазоне за месяц - НЕ проверяет 29 февраля в високосный год, только то, что февраль может иметь 29 дней

Матчи (проверено): 0001-12-31 | 9999 09 30 | 2002/03/03