Chrome不接受使用jQuery验证的特定日期格式

时间:2014-04-04 19:48:11

标签: jquery validation google-chrome date

我使用jQuery Validator制作了一种日期格式,格式为:dd / mm / yyyy。

但我在Google Chrome中遇到此格式的问题。 在IE或Firefox中,日期格式运行良好,但在谷歌浏览器中,格式最多接受12/12 / yyyy。例如,IE中的日期为20/12/2014即可,但在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."
    );

2 个答案:

答案 0 :(得分:1)

大多数验证器已经有日期验证方法。

你在使用哪一个?

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)))$
MM / dd / yyyy,闰年100%。自1900年起有效.MM和DD可以有1或2位数:M / d / yyyy或MM / d / yyyy或M / dd / yyyy

取自http://regexlib.com/REDetails.aspx?regexp_id=1071

答案 1 :(得分:1)

最后我解决了这个问题。

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

font:Unobtrusive validation in Chrome won't validate with dd/mm/yyyy