I 2 unterschiedliche Datumsformate zulassen möchten:REGEX für 2 Datumsformate
1/1/2017 und 1-JAN-2017
ich diese Regex verwende aber seine nicht funktioniert:
re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})|[0-9]{1,2}\-[a-zA-Z]{3}\-[0-9]{4}/;
I 2 unterschiedliche Datumsformate zulassen möchten:REGEX für 2 Datumsformate
1/1/2017 und 1-JAN-2017
ich diese Regex verwende aber seine nicht funktioniert:
re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})|[0-9]{1,2}\-[a-zA-Z]{3}\-[0-9]{4}/;
die Alternativen Gruppe und das Ende der Zeichenfolge Anker hinzu:
re = /^(?:\d{1,2}\/\d{1,2}\/\d{4}|\d{1,2}-[a-zA-Z]{3}-\d{4})$/;
^^^ ^ ^^
Siehe regex demo.
Ohne das Gruppierungskonstrukt wird ^
nur auf (\d{1,2})
angewendet, und die andere Alternative wird an einer beliebigen Position in der Zeichenfolge gesucht.
Ohne den Anker $
kann das Muster übereinstimmen, auch wenn das gefundene Muster nicht am Ende der Zeichenfolge steht (und Sie erhalten teilweise Übereinstimmungen).