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

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

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

判断是这个不就行了?

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

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

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

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

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;
} 

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

// (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;

};

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

很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