4.4. Weryfikacja tradycyjnych formatów zapisu daty

Problem

Chcemy weryfikować poprawność dat zapisywanych w tradycyjnych formatach mm/dd/yy, mm/dd/yyyy, dd/mm/yy oraz dd/mm/yyyy. Chcemy zastosować możliwie proste wyrażenie regularne sprawdzające, czy dane wejściowe przypominają datę — nie chcemy tracić czasu na odrzucanie takich danych jak na przykład nieistniejący dzień 31 lutego.

Rozwiązanie

Dopasowuje wszystkie wymienione formaty dat z możliwością pomijania początkowych zer:

  • ^[0-3]?[0-9]/[0-3]?[0-9]/(?:[0-9]{2})?[0-9]{2}$

    • Opcje wyrażenia regularnego: Brak

    • Odmiany wyrażeń regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

Dopasowuje wszystkie wymienione formaty dat, ale wymaga stosowania początkowych zer:

  • ^[0-3][0-9]/[0-3][0-9]/(?:[0-9][0-9])?[0-9][0-9]$ ...

Get Wyra?enia regularne. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.