程序员の奇妙冒险

返回
Bootstrap Bootstrap
2017-07-24 15:18 阅读:68 评论:0

bootstrap datetimepicker 日期控件只显示年月(日期限制范围)或只显示年

var dateRegularExpression = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[46...

                    <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mobile/css/edit_views_html-db03dd5f8c.min.css">
                    <pre><code class="language-javascript">       var dateRegularExpression = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$/;
    $('#datetimepicker1').datetimepicker({
        todayBtn : "linked",
        language : 'zh-CN',
        autoclose : true,
        startView: 3,
        minView: 3,
        format: 'yyyy-mm',
        startView: 3,
        endDate : new Date()
    }).on('changeDate',function(e){
        var time = e.date;
        $('#datetimepicker2').datetimepicker('setStartDate',time);
    }).on('hide',function(e){
        var time = e.date;
        if( time.toLocaleDateString() == '1899-12-31' || !dateRegularExpression.test(time.toLocaleDateString()) ){
            $('#datetimepicker1').val("");
        }
    })
    //结束时间:
    $('#datetimepicker2').datetimepicker({
        todayBtn : "linked",
        language : 'zh-CN',
        autoclose : true,
        startView: 3,
        minView: 3,
        format: 'yyyy-mm',
        startView: 3,
        endDate : new Date()
    }).on('changeDate',function(e){
        var time = e.date;
        $('#datetimepicker1').datetimepicker('setEndDate',time);
    }).on('hide',function(e){
        var time = e.date;
        //乱输入 ime.toLocaleDateString()得到总是'1899-12-31',选择日期总是得到年月日,使用正则表达式验证手动输入
        if( time.toLocaleDateString() == '1899-12-31'|| !dateRegularExpression.test(time.toLocaleDateString()) ){
            $('#datetimepicker2').val("");
        }
    })
    //只显示年
    $('#datetimepicker3').datetimepicker({
        language : 'zh-CN',
        autoclose : true,
        startView: 4,
        minView: 4,
        format: 'yyyy'
    })</code></pre> 

评论 (0)
暂无评论 来抢沙发吧~