yon342743761
yon342743761
采纳率0%
2017-01-18 12:17

用JS或Jquery如何判断日期格式

15

日期的输入格式是yyyy-mm-dd。用JS或Jquery这个判断要怎么写,求教(详细代码)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • qq_29594393 当作看不见 4年前

    日期都不是输入的,而是让用户自己选的,由于用户输入的都是各种格式,容易出错,
    建议使用日期,bootstrap的日期控件就挺好的
    如何验证
    /\d{4}-\d{2}-\d{2}/
    pattern 输入框加入这个正则验证属性

    点赞 2 评论 复制链接分享
  • liwubin_88 liwubin_88 2年前

    很easy啊:

    //比如我们要验证格式为2019-03-31,比如“粗糙”的写法:
    var reg=/^\d{4}-\d{2}-\d{2}$/gi;
     
    //下面来给大家分享个“严格”的:
    var reg=/^[1-2]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/gi;
    //上面这个正则,要求字符串,必须符合“yyyy-MM-dd”的格式,也就是月和日必须为两位数
     
    //如果加上月或日是一位数的判断,可以改为:
    var reg=/^[1-2]\d{3}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2][0-9]|3[0-1])$/gi;
     
    //如果我们要验时间的话,如16:30:58
    var reg=/^(0?[1-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9]):([0-5][0-9])$/gi;
    
    

    摘自 爱jQuery:http://www.aijquery.cn/Html/jqueryrumen/210.html

    点赞 评论 复制链接分享
  • youthsunshine Youth_bj 4年前

    用my97date不就挺好的吗,也不用手输入,而且功能也挺多的,比较方便。

    点赞 评论 复制链接分享
  • qq_36740035 名字怪怪滴 4年前

    // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423

    // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18

    Date.prototype.Format = function(fmt)

    { //author: meizz

    if(isNaN(this.getDate()))
    {
    return "";
    }

    var o = {

    "M+" : this.getMonth()+1, //月份

    "d+" : this.getDate(), //日

    "h+" : this.getHours(), //小时

    "m+" : this.getMinutes(), //分

    "s+" : this.getSeconds(), //秒

    "q+" : Math.floor((this.getMonth()+3)/3), //季度

    "S" : this.getMilliseconds() //毫秒

    };

    if(/(y+)/.test(fmt))

    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));

    for(var k in o)

    if(new RegExp("("+ k +")").test(fmt))

    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));

    return fmt;

    };

    点赞 评论 复制链接分享
  • zxc284049007 huaYan丶 4年前

    做3个下拉框分别选择年月日,这样不用做任何的判断,重要的是客户的体验会更好..

    点赞 评论 复制链接分享
  • strongerzhi Kolamu 4年前

    做了简单的验证,需要详细验证可以再扩展!

    function validateDate(dateStr)
    {
        dateArray = dateStr.spilt('-');
        if(dateArray.length != 3) return false;
    
        year = dateArray[0];
        month = dateArray[1];
        day = dateArray[2];
    
        if(year.length != 4 || month.length != 2 || day.length != 2) return false;
    
        try
        {
        iyear = Integer.parse(year);
        imonth = Integer.parse(month);
        iday = Integer.parse(day);
    
        if(imonth > 12 || imonth < 1) return false;
        if(iday > 31 || iday < 1) return false;
        }
        catch
        {
            return false;
        }
        return true;
    } 
    
    点赞 评论 复制链接分享
  • dcxy0 Q544471255 4年前

    判断是这个不就行了?

    http://www.jb51.net/article/41535.htm

    如果要自己写,
    可以按照"-"分割,然后判断即可。

    第一个:是年,判断是否大于1900,小于2199;
    第二个,是月,看下是否大于0,小于13;
    第三个,是日,看下是否大于0,小于32(不同月份不一样)。

    点赞 评论 复制链接分享

相关推荐