marcos.pont, это хороший взлом, но:
Это не будет работать, если вы хотите где-то использовать двухзначный год.
Это работает, только если вы вводите дату достаточно быстро. В противном случае оно очищает поле после 3-й цифры введенного года (например, вы хотите ввести 2010, а после «201» поле очистится)
Вот лучшее решение, хотя это и хак (два или четыре цифры года работают правильно, но вы не можете ввести трехзначный год (100-999). Поскольку в большинстве случаев нам нужны только 2 или 4 годовой функционал, есть исправление:
В неминифицированной версии найти этот код в функции parseDate:
case 'y':
year = getNumber('y');
и добавьте
if(format.charAt(iFormat) == 'y' && year < 1000)return null;
между этим кодом и перерыв;
В уменьшенной версии:
Заменить
case "y":c=m("y");break;
С
case "y":c=m("y");if(a.charAt(z)=='y'&&c<1000)return null;break;