Я использую ниже Regex для проверки полей даты.Мне нужно подтвердить MM/DD/YYYY
, а также проверить високосный год.Во всех случаях приведенное ниже регулярное выражение работает нормально, за исключением того, что, когда я ввожу YY
, если я даю MM/DD/YY
, он принимает его как действительную дату и сохраняет в БД как 4 цифры года как 0000. Если я ввожу MM/DD/Y
, этовозвращает сообщение проверки, как будто я ввожу MM/DD/YYY
.Это только в MM/DD/YY
случае, если не получитсяМожет кто-нибудь помочь мне в этом, как проверить, не вводить 2 цифры в год?
Dt_RegEx = /^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/;