Может ли кто-нибудь помочь моему мозгу гороха понять, почему мое простое регулярное выражение не работает так, как я ожидаю / хочу этого.
Я хочу сопоставить формат даты ММ / ДД / ГГГГ с точно 2 и 4 цифрами, что-то вроде 16.01.1955. Мой код ниже делает это, но он также соответствует 2 + и 4 + цифр, поэтому что-то вроде 011/16/1955 или 01/16/19555 (1 дополнительная цифра) проходит мимо проверка также.
//validate date of birth
var dob_label = $date_of_birth.find('label').text().slice(0, -1),
dob_mm = $dob_mm.val(),
dob_dd = $dob_dd.val(),
dob_yyyy = $dob_yyyy.val(),
regex_two_digit = /^\d{2}$/,
regex_four_digit = /^\d{4}$/;
if ( (regex_two_digit.test(dob_mm)) && (regex_two_digit.test(dob_dd)) && (regex_four_digit.test(dob_yyyy)) ) {
//a button is enabled here
} else {
//a validation error is thrown here and the button is disabled
}