2017-07-26 47 views
-1

我希望RegEx能夠針對這些要求測試字符串'00:00 AM'。針對此模式的JavaScript RegEx

  1. 第一位數可以是1至12
  2. 然後冒號。
  3. 從0到59的數字
  4. 然後是空格。
  5. 那麼 'AM' 或 'PM'

,並使用它像

EXP.test('00:00 AM') //true EXP.test('13:70 CM') //false

任何人可以幫助?

由於提前,

+2

如果你從不自己寫一個正則表達式,你永遠不會改進。使用https://regex101.com/並嘗試自己找到它,您不能要求社區爲您編寫所有代碼! – sjahan

+0

歡迎來到Stack Overflow!請[參觀],環顧四周,並仔細閱讀[幫助],尤其是[*我如何提出一個好問題?](/ help /如何問)它的工作方式是:你做了研究,研究文檔和教程,並嘗試了一些嘗試來解決這個問題。 *如果*你達到了一個被卡住的地步,並且不明白爲什麼某些東西不起作用,*然後*你用這種努力發佈一個問題,描述你認爲它應該起作用的原因,以及描述你做了什麼測試等等。人們會很樂意提供幫助。 –

回答

1

簡單表達式是:

  1. (0[0-9]|1[012]) - 要麼00-09或10-12
  2. \: - 科隆
  3. [0-5][0-9] - 00 - 59
  4. - 空間
  5. [AP]M - 無論是上午還是下午

組合,這將是:

/(0[0-9]|1[012])\:([0-5][0-9]) [AP]M/g 

有意義嗎?

+0

你真的測試過你的正則表達式嗎? – Noobit

+0

@KevBot根據OP,他的要求幸運地不包括單個數字,如'00:00'所示# –

+0

嘗試12:00 PM :) – Noobit