我的数据交换代码
$(function(){
$( "#task_start_date").datepicker({
dateFormat: 'dd-M-yy',
showOn: 'button',
buttonImage :image_us,
buttonImageOnly: true
});
});HTML输入:
<input type="text" class="form-control validate[required,custom[date]]" name="task_start_date" id="task_start_date" />用于正确日期输入验证的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 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"
},在这里,regex需要YYYY-MM-DD (2014-11-26)格式,但是我们使用的是dd-M-yy(01-MAR-12)格式。
Regex尝试过:
/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/上述regex不起作用。如何更改regex以匹配预期的数据交换输出。在DB中插入的值是01-MAR-12,而不是2014-11-26。
谢谢。
发布于 2014-11-26 07:07:52
^(0?1-9\12\301)-{3}-\d{2}$
这应该能起作用。您尝试的正则表达式是dd/mm/yyyy或的格式。
发布于 2014-11-26 07:07:23
试试这个(没有测试):
(?:0[1-9]|1[0-9]|2[0-9]|3[01])-(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)-\d{2}(?:0[1-9]|1[0-9]|2[0-9]|3[01]):01至09,10至19,20至29,30至31。但是二月没有超过29的东西,所以你如何处理我们不是基于regex的-:匹配催眠术(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC):比赛月份-:匹配催眠术-\d{2}:按任意顺序匹配任意两位数字你可以缩小速度,但我现在没有时间。
发布于 2015-08-15 05:39:22
使用这个
"date": {
// Check if date is valid by leap year
"func": function (field) {
var pattern = new RegExp(/^(0?[1-9]|[12][0-9]|3[01])[\/\-\.](0?[1-9]|1[012])[\/\-\.](\d{4})$/);
var match = pattern.exec(field.val());
if (match == null)
return false;
var year = match[3];
var month = match[2]*1;
var day = match[1]*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 dd-mm-yyyy format"
},
https://stackoverflow.com/questions/27142916
复制相似问题