【发布时间】:2014-03-22 09:44:14
【问题描述】:
谁能帮助我如何将这个 jquery 验证的日期格式从 YYYY-MM-DD 更改为 MM/DD/YYYY。
例子:
2014-02-21 must be 02/21/2014
我试图改变这个:new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
收件人:new RegExp(/^((0?[13578]|10|12)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$/);
但我仍然无法获得我想要的正确验证..
代码如下:
"date": {
// Check if date is valid by leap year
"func": function (field) {
var pattern = new RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/); //<---- The Original Pattern of YYYY-MM-DD
var match = pattern.exec(field.val());
if (match == null)
return false;
var year = match[1];
var month = match[2]*1;
var day = match[3]*1;
var date = new Date(year, month - 1, day); // because months starts from 0.
return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day);
},
"alertText": "* Invalid date, must be in YYYY-MM-DD format"
}
请帮帮我..谢谢.. :)
【问题讨论】:
-
为什么人们认为正则表达式是验证日期的最佳方式?只需将其拆分为数字,然后测试范围即可。
-
先生,我只是个初学者。我只想知道如何从基础更改格式。谢谢
标签: jquery regex validation date