Недавно я искал регулярное выражение для некоторой проверки даты на стороне клиента, и мне не удалось найти такое, которое удовлетворяло бы следующим критериям:
- Имеет диапазон от 1800 - сейчас
- Выполняет надлежащую проверку даты с високосными годами
- MM / DD / YYYY Форма
- Проверка неверной даты
(Эти ограничения выходили за рамки моей компетенции и являются требованием клиента, несмотря на мои попытки убедить их, что это не так)t лучший маршрут)
Текущий код:
$('input').keyup(function()
{
var regex = /^(?:(0[1-9]|1[012])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](18|19|20)[0-9]{2})$/;
$(this).toggleClass('invalid',!regex.test($(this).val()));
});
Обновление:
Следует отметить, чтопрежде всего, чтобы увидеть, возможно ли такое регулярное выражение (, поскольку использование Regex не является моим выбором в этом вопросе ).Мне известны другие ( и лучше ) варианты проверки даты, однако, как уже упоминалось ранее, - это посмотреть, возможно ли это с помощью регулярного выражения.