【发布时间】:2014-11-26 09:28:16
【问题描述】:
验证日期格式的JS脚本:
"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])$/);
var pattern = new RegExp(/([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{4}/);
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 year = match;
var month = match[2];
var day = match[3];
var date = new Date(day, month - 1, year); // because months starts from 0.
return (date.getFullYear() == year && date.getMonth() == (month - 1) && date.getDate() == day);
},
"alertText": "* Invalid date, must be in DD-MM-YYYY format"
},
在这里,正则表达式已更改为使用 dd-M-yy 格式。正则表达式有效,但当 datepicker 输入为 true 时仍显示验证错误。
如何将日期格式设为dd-M-yy,即26-Nov-2014,如果格式正确,它不会提供验证?
谢谢。
【问题讨论】:
-
在您希望 dd-M-yy 有效但在您的
alertText中显示格式为YYY-MM-DD的消息... -
@VDesign,问题已更新。只有当它与正则表达式不匹配时才会出现验证错误。
-
你能用你的代码创建一个 jsfiddle,这样我们就可以测试一下看看出了什么问题?
-
这描述了所有 -
http://stackoverflow.com/questions/27142916/jquery-validation-engine-change-date-format
标签: javascript jquery regex validation