js 验证日期格式各种代码

作者:袖梨 2022-11-14

例1

验证YYYY-MM-DD日期格式,不能验证“2012-11-45”之类的不正确的日期

代码如下 复制代码


时间格式为2007-01-01或2007-1-1

如果我人是2013/01/01这种格式呢,

代码如下 复制代码


//判断input是否符是日期
function isDateString(sDate)
{
var mp=/d{4}-d{2}-d{2}/;

var matchArray = sDate.match(mp);
if (matchArray==null) return false;
var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31];
var iaDate = new Array(3);
var year, month, day;

iaDate = sDate.split("/"); //这里我们可以自动修改-也是可以:也可以哦。
year = parseFloat(iaDate[0])
month = parseFloat(iaDate[1])
day=parseFloat(iaDate[2])
if (year < 1900 || year > 2100) return false;
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if (month < 1 || month > 12) return false;
if (day < 1 || day > iaMonthDays[month - 1]) return false;
return true;
}

使用
if(!isDateString(complete_date))
{
alert("实际完成日期格式不正确,日期格式为yyyy-mm-dd");
return;
}


长时间,形如 (2003-12-05 13:04:06)

代码如下 复制代码

function strDateTime(str)

{

var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/;

var r = str.match(reg);

if(r==null)return false;

var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);

return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

}

相关文章

精彩推荐