Шаблон для специальной даты в javascript

Мне нужен шаблон для этой даты:

14-09-2016 10:00 
16/09/16 10:00
2016/09/16 10:00

Это мой образец:

var patt = new RegExp("(0[1-9]|1[0-9]|2[0-9]|3[01])-(0[1-9]|1[012])-[0-9]{4}");
var res = patt.test(date1);

Я не знаю, как добавить пробел и другие символы в мой код
Можете ли вы помочь мне ?:)

1 ответ

  1. Можно использовать следующее выражение. Это довольно долго, поскольку он соответствует третьему формату отдельно.

    ^(?:(?:0[1-9]|[12]\d|3[01])([-\/])(?:0[1-9]|1[012])
    	

    You could use the following expression. It is quite long as it matches the third format separately.

    ^(?:(?:0[1-9]|[12]\d|3[01])([-\/])(?:0[1-9]|1[012])\1\d{2,4}|\d{2,4}([-\/])(?:0[1-9]|1[012])\2(?:0[1-9]|[12]\d|3[01]))\s(?:[01]\d|2[0-3]):[0-5]\d$
    

    Leave out the start ^ and end $ if you need to find and match these dates in a larger string.

    See demo on regex101.com

    \d{2,4}|\d{2,4}([-\/])(?:0[1-9]|1[012])(?:0[1-9]|[12]\d|3[01]))\s(?:[01]\d|2[0-3]):[0-5]\d$

    Не указывайте начало ^и конец$, если вам нужно найти и сопоставить эти даты в большей строке.

    Посмотреть демо на regex101.com