正则表达式时区

Dib*_*ish 8 javascript regex

我需要一个有效时区的正则表达式,尝试下面的一个.
但我不确定.
请帮助我找出以下正则表达式中的任何错误.

编辑:

冒号和分钟是可选的.如何将其更改为强制性.
如果没有分钟,用户应输入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")
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*ker 21

以下正则表达式将时区与强制性的两位数小时/分钟或字母匹配Z:

/^(?:Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])$/
Run Code Online (Sandbox Code Playgroud)

说明:

^            # 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
Run Code Online (Sandbox Code Playgroud)

看到它住在regex101.com.

  • Regx 必须进一步完善。时区的范围从 -12:00 到 +14:00,并且不会始终以 00:30 逐渐增加。无论如何,这帮助我验证时间选择器几乎没有变化:) 谢谢... (3认同)