нужно с помощью регулярных выражений проверить дату на соответствие следующим образцам:
мм/дд/гггг, м-дд-гггг, ммддгггг, мм.дд.гггг
вот это рабочее выражение
/^((0\d)|(1[12])|([1-9]))([-\/ .])?(([012]\d)|(3[01]))([-/\ .])?([012]\d{3})$/
однако оно не проверяет условие присутствия в дате только одного разделителя (например, мм.дд/гггг такая запись считается правильной)
пытался сделать следующее, но не работает
/^((0\d)|(1[12])|([1-9]))(([-][^.\/])|([\/][^-.])|([.][^-\/]))?(([012]\d)|(3[01]))(([-][^.\/])|([\/][^-.])|([.][^-\/]))?([012]\d{3})$/
что нужно исправить?