Я создал формат даты с помощью jQuery Validator в следующем формате: дд / мм / гггг.

Но у меня проблема с этим форматом в Google Chrome. В IE или Firefox формат даты работает хорошо, но в Google Chrome формат принимает максимум 12/12 / гггг. Например, дата 20.12.2014 в IE допустима, но в Chrome дата не принимается.

Код:

$.validator.addMethod(
        "brDate",
        function(value, element) {
            return value.match(/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/);
        },
        "The correct date format is dd/mm/yyyy."
    );
3
marcelps 4 Апр 2014 в 23:48

2 ответа

Лучший ответ

Наконец я решил проблему.

jQuery.validator.methods["date"] = function (value, element) { return true; } 

Шрифт: Ненавязчивая проверка в Chrome не будет проверяться с помощью dd / мм / гггг

1
Community 23 Май 2017 в 12:25

У большинства валидаторов уже есть методы проверки даты.

Какой вы используете?

http://**formvalidator.net**/#default-validators_dates
<!-- Validate date formatted yyyy-mm-dd -->
<input type="text" data-validation="date">

<!-- Validate date formatted dd/mm/yyyy -->
<input type="text" data-validation="date" data-validation-format="dd/mm/yyyy">

Я бы предложил использовать такую ​​проверку.

Если вы хотите написать шаблон самостоятельно, вы можете использовать этот:

^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$

ММ / дд / гггг со 100% високосными годами. Действительно с 1900 года. MM и DD могут содержать 1 или 2 цифры: M / d / yyyy или MM / d / yyyy или M / dd / yyyy.

Взято с сайта http://regexlib.com/REDetails.aspx?regexp_id=1071

1
Denis Obydennykh 4 Апр 2014 в 20:07