首页 > Web开发 > 详细

jquery validation yyyy-MM-dd格式日期在ie中无法验证通过

时间:2014-03-14 19:08:20      阅读:455      评论:0      收藏:0      [点我收藏+]

问题

首先在ie6、7、8下面打开这个页面http://jqueryvalidation.org/date-method/,输入的日期格式为:yyyy-MM-dd验证不通过。

bubuko.com,布布扣

格式要是:MM/dd/yyyy可以验证通过

bubuko.com,布布扣

原因

查看validation的源代码找到日期验证函数发现,验证表达式是通过Date的构造函数来实例化日期 !/Invalid|NaN/.test(new Date(value).toString())

 date: function (value, element) {
                return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());
            }

而这个实例化在ie6、7、8下面得到的时NaN

bubuko.com,布布扣

解决方法

为了让我们的日期格式支持yyyy-MM-dd这种格式看来只能重写这个date函数

$.validator.methods.date = function (value, element) {
            var matches = /(\d{4})[-\/](\d{2})[-\/](\d{2})/.exec(value);
            if (matches == null) return this.optional(element)|| false;
            return this.optional(element) || true;
        };

 或是用dateISO验证规则来替换默认的date验证

$.validator.methods["date"] = function (value, element) {
            return $.validator.methods.dateISO.apply(this, arguments);
        };

jquery validation yyyy-MM-dd格式日期在ie中无法验证通过,布布扣,bubuko.com

jquery validation yyyy-MM-dd格式日期在ie中无法验证通过

原文:http://www.cnblogs.com/yehuabin/p/validation-date.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!