检查JSON对象中是否存在日期

时间:2013-12-06 09:16:12

标签: javascript json html5 date object

我有一个日期字符串的php数组和一个原生的html5日期输入框。 我已将日期数组输出到json对象以允许使用javascript:

<script>
var date_array = <?php echo json_encode($aDates); ?>;
...

这样输出如下:

var date_array = {
    "2013-12-05": "2013-12-05",
    "2013-12-04": "2013-12-04",
    "2013-12-03": "2013-12-03"
    ...
    };

我正在使用html5本机日期输入框,我想检查用户选择的值是否存在于json对象中。看来,在(我的版本)chrome中,输入中日期字符串的格式为dd/mm/yyyy,所以我想一些日期解析是必要的。

这是我到目前为止所做的:

var date_input = $('input#end_date');
    date_input.change(function(){
        if( jQuery.inArray(date_input.val(), date_array) > -1 ){
            date_input.parent().addClass('has-success');
            date_input.parent().removeClass('has-error');
        } else {
            date_input.parent().addClass('has-error');
            date_input.parent().removeClass('has-success');
        }
    });

哪个不能正常工作。 任何想法如何改进?

2 个答案:

答案 0 :(得分:2)

我相信日期输入框应该以{{1​​}}格式(ref)将字符串作为字符串返回。要检查日期是否存在于date_array 对象 中,您只需:

yyyy-mm-dd

答案 1 :(得分:0)

您可以从json new Date("2013-12-05")中的字符串创建日期,并从用户的输入创建另一个日期,然后比较它们