Я пытаюсь написать некоторые регулярные выражения для проверки ввода даты MM/DD/YYYY. Каждая часть даты представляет собой отдельный вход текстовое поле, разделенные "/", как:JavaScript регулярное выражение для соответствия формату mm/dd/yyyy - ограничение только числового ввода
//
За день 16 января 1985 года
У меня есть это сейчас, когда он позволяет только числовые записи, что было легко с помощью replace() и простого регулярного выражения. BTW, regex's не мои сильные стороны, я не делаю много из них, может быть, раз или два раза в пару лет.
Ниже приведен код, который я использую, а также какое-то псевдо-regex под моей заменой(). Я с трудом связывая числовой ввод регулярное выражение в с форматирования даты регулярных выражений Я пытаюсь добиться (закомментирована под замену())
//MM
$(this).keyup(function() {
//allow only numbers
this.value = this.value.replace(/[^0-9]/g, '');
//(0[1-9]|1[012])
//matching 01 (Jan) to 09 (Sep) to 10 (Oct) to 12 (Dec)
});
//DD
$(this).keyup(function() {
//allow only numbers
this.value = this.value.replace(/[^0-9]/g, '');
//(0[1-9]|[12][0-9]|3[01])
//matching 01-09, 10-19, 20-29, 30-31
//(not worried about picking 31 in February)
});
//YYYY
$(this).keyup(function() {
//allow only numbers
this.value = this.value.replace(/[^0-9]/g, '');
//(\d{4})
//really simple 4 digit, but don't really want 1245 as a valid year
//a range from 1900-current year would be great
//(1900-newDate().getFullYear())
//something like this possible?
);
С, что я не мог ввести дату 99/99/9999? Я ищу дату действительной даты. См. Мое регулярное выражение psuedo, которое закомментировано для каждого текстового поля. –