Часовой пояс регулярного выражения
Мне нужно регулярное выражение для допустимого часового пояса, попробовал следующее.
Но я в этом не уверен.
Пожалуйста, помогите мне найти что-нибудь неправильное в следующем регулярном выражении.
редактировать:
здесь двоеточие и минуты являются необязательными. как я могу изменить его на обязательный.
Если нет минут, пользователь должен ввести 00 (+05:00).
Пожалуйста, помогите мне решить эту проблему.
var chkzone = "+05:30"
if(chkzone .match(/^(Z|[+-](?:2[0-3]|[01]?[0-9])(?::?(?:[0-5]?[0-9]))?)$/))
{
alert('works out');
}
else
{
alert("Time zone wrong")
}
1 ответов
следующее регулярное выражение соответствует часовым поясам с обязательными двузначными часами / минутами или буквой Z
:
/^(?:Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])$/
объяснение:
^ # Start of string
(?: # Match the following non-capturing group:
Z # Either a literal Z
| # or
[+-] # a plus or minus sign
(?: # followed by this non-capturing group:
2[0-3] # Either a number between 20 and 23
| # or
[01][0-9] # a number between 00 and 19
) # End of inner non-capturing group
: # Match a literal colon
[0-5][0-9] # Match a number between 00 and 59
) # End of outer non-capturing group
$ # End of string
видеть жить дальше regex101.com.