2017-07-26 3 views
-1

Ich möchte RegEx für das Testen einer Zeichenfolge wie '00: 00 AM' für diese Anforderungen.JavaScript RegEx für dieses Muster

  1. erste Ziffer kann 1 bis 12
  2. dann ein Doppelpunkt sein.
  3. eine Ziffer von 0 bis 59
  4. dann ein Leerzeichen.
  5. dann helfen 'AM' oder 'PM'

und verwenden Sie es wie

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

kann jemand?

Vielen Dank im Voraus,

+2

Wenn Sie niemals selbst eine Regex schreiben, werden Sie nie besser werden. Verwenden Sie https://regex101.com/ und versuchen Sie es selbst zu finden, Sie können die Community nicht bitten, alles für Sie zu programmieren! – sjahan

+0

Willkommen bei Stack Overflow! Bitte nimm die [Tour], schau dich um und lies die [Hilfe], insbesondere [* Wie stelle ich eine gute Frage? *] (/ Help/how-to-ask) So funktioniert es: Sie machen die Forschung, studieren die Dokumentation und die Tutorials und versuchen - mehrere Versuche - das Problem zu lösen. * Wenn * du einen Punkt erreichst, an dem du feststeckst und einfach nicht verstehen kannst, warum etwas nicht funktioniert, * dann * postest du eine Frage mit dieser Anstrengung, eine Beschreibung, warum du denkst, dass es funktionieren sollte, und eine Beschreibung von Was für Tests hast du getan? Leute werden glücklich sein zu helfen. –

Antwort

1

Ein einfacher Ausdruck wäre:

  1. (0[0-9]|1[012]) - Entweder 00-09 oder 10-12
  2. \: - Colon
  3. [0-5][0-9]-00 - 59
  4. -Raum
  5. [AP]M-entweder AM oder PM

Combined das wäre:

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

Sinn?

+0

Hast du deine Regex wirklich getestet? – Noobit

+0

@KevBot Laut OP, seine Anforderung enthält glücklicherweise nicht einzelne Ziffern, wie in '00: 00' –

+0

Try 12:00 PM :) – Noobit