首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery数据采集器显示当前日期

jQuery数据采集器显示当前日期
EN

Stack Overflow用户
提问于 2014-11-27 09:55:21
回答 1查看 1.9K关注 0票数 1

数据报童脚本:

代码语言:javascript
运行
复制
$(function(){ 

         $( "#task_start_date").datepicker({
         dateFormat: 'dd-M-yy',
         showOn: 'button',
         buttonImage :image_us,
         buttonImageOnly: true
        });

HTML输入:

代码语言:javascript
运行
复制
<input type="text" class="form-control validate[required,custom[date]]" name="task_start_date" id="task_start_date" />

当在日历图标中单击时,dateFormat: 'dd-M-yy',输出27-Nov-2014并显示突出显示的当前日期,

但是dateFormat: 'dd-M-y',输出01-MAR-12,并将01-MAR-12显示为突出显示而不是当前。

我正在使用jQuery Validation Engine验证日期格式。下面的小提琴工作良好,但不符合预期的日期格式。

JS Fiddle:小提琴

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-11-27 10:38:46

我看到你的JS Fiddle了。我认为,您在RegExp结果上有一个错误,即null。

我试着改变你的RegExp。

new RegExp(/([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{4})/);

变到

new RegExp(/([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2,4})/);

和变化

var isOk = (d.getFullYear() == year && d.getMonth() == months.indexOf(month) && d.getDate() == day);

var isOk = (d.getYear() == (year).slice(-2) && d.getMonth() == months.indexOf(month) && d.getDate() == day);

下面是完整的代码。第二次修改版本。

代码语言:javascript
运行
复制
$( "#task_start_date").datepicker({
    monthNamesShort: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
    dateFormat: 'dd-M-y',
    defaultDate: '18-Nov-14',
    onClose: function (date) {
        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{2,4})/);
        var match = pattern.exec(date);
        if (match == null)
             return false;

        var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
        var year = match[3];
        var month = match[2];
        var day = match[1];

        var d = new Date(year, months.indexOf(month), day);
        var isOk = (d.getYear() == (year).slice(-2) && d.getMonth() == months.indexOf(month) && d.getDate() == day);
                alert(isOk);    }
});
$("#task_start_date").datepicker( "setDate", new Date());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27167655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档