Regex per validare la time zone
I formati validi sono +/-HH:mm
e Z
.
I limiti per il primo caso sono da 00:00
a 24:00
.
const timezoneRegex = /^(?:[+-][0-1]\d:[0-5]\d|[+-][2][0-3]:[0-5]\d|[+-]24:00|Z)$/; timezoneRegex.test('+01:00'); // true timezoneRegex.test('-01:00'); // true timezoneRegex.test('Z'); // true timezoneRegex.test('*01:00'); // false (errore di formato) timezoneRegex.test('+24:01'); // false (errore di limite) timezoneRegex.test('z'); // false (errore di formato)
^
indica dall’inizio stringa.[+-][0-1]\d:[0-5]\d
verifica che ci sia un+
o un-
e se ore e minuti vanno da00:00
a19:59
.[+-][2][0-3]:[0-5]\d
verifica che ci sia un+
o un-
e se ore e minuti vanno da20:00
a23:59
.[+-]24:00|Z
verifica che ci sia un+
o un-
e se ore e minuti sono24:00
.Z
verifica che ci sia laZ
(UTC).$
per il fine stringa.
Le operazioni 2, 3 e 4 sono raggruppate in un gruppo che le mette in or.