2012-04-04 41 views
0

我有一個正則表達式,它接受以下特定格式的時間, 「10:00」。正則表達式時間格式?

我想更改正則表達式以適應此格式或僅接受一個短劃線(「 - 」)。

這裏是表達:

/^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/ 

回答

1

要點解決這一:

  • 方括號([])用於括字符類。
  • 管道|表示or
  • [\:|-]表示文字爲:或連字符-

產生的模式是:

^((\d)|(0\d)|(1\d)|(2[0-3]))[\:|-]((\d)|([0-5]\d))$ 
+0

看起來像我誤解了,我以爲你的意思是10:00或10-00。道歉! – jon 2012-04-04 12:03:56

+0

你或我誤解了這個問題;-) – Joey 2012-04-04 12:04:00

0

只需使用一種替代方案:

^<your regex>$|^-$ 

這無論是在你的格式或單個連字符減號匹配。

0

這個正則表達式需要有這麼多的括號嗎?

/^(([01]?\d|2[0-3]):[0-5]\d|-)$/