jquery validation yyyy-MM-dd格式日期在ie中无法验证通过
自己开发的公众号,可以领取淘宝内部优惠券
问题
首先在ie6、7、8下面打开这个页面http://jqueryvalidation.org/date-method/,输入的日期格式为:yyyy-MM-dd验证不通过。
格式要是:MM/dd/yyyy可以验证通过
原因
查看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
this.optional(element)
在所有的验证函数中都会先调用这个optional函数(required验证函数除外),这是为什么呢?
如果value不为空,那么这个函数永远返回false,这样才能执行接下来的验证。
如果value为空就会返回true,既然没有值了也就不需要进行自定义函数的验证。
解决方法
为了让我们的日期格式支持yyyy-MM-dd这种格式看来只能重写这个date函数
- $.validator.methods.date = function (value, element) {
- var matches = /(\d{})[-\/](\d{})[-\/](\d{})/.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中无法验证通过的更多相关文章
- Excel日期格式单元格写成yyyy.MM.dd格式将无法读取到DataTable
最近在改公司的订单系统,遇到了一个奇怪的问题.C#程序需要从Excel文件中将数据全部读取到DataTable,其中Excel文件的第一列是日期格式yyyy/MM/dd,而这一列中大部分的单元格都是按 ...
- 数据库中取出YYYY-mm-dd H:i:s的数据怎么将其转化成YYYY/mm/dd格式,另外,怎么将一个数据表中的数据插入另一个数据表
sql语句是select left(replace(rq,'-','/'),10) as rq from 表名 tp5.1中的写法 $res = Db::table('表名') ->field ...
- 让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。
第三种方法 while(true) { Date d; System.out.println("正在进行第一次匹配,请稍后~—~"); ...
- C# 时间格式 yyyy/mm/dd
今天遇到个问题在C#中将日期格式设置为yyyy/MM/dd,我是这样写的: DateTime.Now.ToString("yyyy/MM/dd"); 可是获取到的日期还是显示yyy ...
- DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16(转)
今天我在使用 DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16 而不是我想要的 2006/03/16,都快把我郁闷的不行了 ...
- JS 2019-12-03T15:53:23.000+08:00 转化为 YYYY MM DD
js时间格式转化 2019-12-03T15:53:23.000+08:00 转化为 YYYY MM DD var dateee = new Date(createTime).toJSON();var ...
- Oracle中把一个DateTime的字符串转化成date类型。to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'),
Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: sele ...
- 从客户端(ASPxFormLayout1$txtRule="<YYYY><MM><DD><XXXX>")中检测到有潜在危险的 Request.Form 值
在有文本框的值属于这种时<YYYY><MM><DD><XXXX>,会报这个错 在webconfig中加入 <httpRuntime request ...
- 这里有个坑---js日期格式yyyy-MM-dd与yyyy/MM/dd
这里有个坑,---------每一个遇到的坑总结后都是一比财富. 我们写脚本的时候,一般定义一个日期格式会使用“2015-12-21”和“2015/12/21”两种数据格式,由于各取所需日期格式并没有 ...
随机推荐
- Ubuntu小记
一. Ubuntu分区记忆 参考教程调整: 1. /boot用于安装grub,设为主分区 2. /根目录20G一般足够 3. /home剩下的给home 4. swap空间=物理内存 挂载点 大小 类 ...
- pychram编写代码鼠标变粗处理
现象:如下图 解决: 键盘 点击 insert 按钮即可解决
- 洛谷P3515 [POI2011]Lightning Conductor(决策单调性)
题意 已知一个长度为n的序列a1,a2,...,an. 对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j)) ...
- 3、OpenCV Python 色彩空间
__author__ = "WSX" import cv2 as cv import numpy as np def color_space( img ): gray_img = ...
- loj#6229 这是一道简单的数学题
\(\color{#0066ff}{ 题目描述 }\) 这是一道非常简单的数学题. 最近 LzyRapxLzyRapx 正在看 mathematics for computer science 这本书 ...
- jdk 1.6.0_39 下载
Java SE Development Kit 6u39 Product / File Description File Size Download password Linux x86 65.42 ...
- [JSOI2009]瓶子和燃料 BZOJ2257 数学
题目描述 jyy就一直想着尽快回地球,可惜他飞船的燃料不够了.有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy的飞船上共有 N个瓶子(1<=N<=1000) ...
- [ZJOI2009]假期的宿舍 BZOJ 1433 二分图匹配
题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识. ...
- Visible Ops
Link:http://www.wikisummaries.org/Visible_Ops Contents [hide] 1 What is ITIL? 2 Introduction 3 Phas ...
- day_04 列表
1. 列表list 能装对象的对象,有序的(按照我们存放的顺序) 以[]表示,里面可以存放大量各种元素,各个元组用逗号隔开 列表也具有索引和切片 2. 列表的增改删查 1. 增 1.append() ...