日期对象字符串的正则表达式

时间:2015-07-01 09:12:03

标签: javascript regex

在javascript中,日期对象会给我以下字符串。

var dateString=new Date();
console.log(dateString);//logs this 'Mon Jul 13 2015 00:00:00 GMT+0530 (India Standard Time)'

是否有任何正则表达式来验证具有此日期格式的字符串? 我是javascript的新手,请帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用Date.parse()来测试字符串:

function isDate(str){ return !isNaN( Date.parse( str ) ); }

测试:

isDate( 'Mon Jul 13 2015 00:00:00 GMT+0530 (India Standard Time)' ); // true
isDate( '' ); // false
isDate( 1 ); // false

isDate( '2015-07-01' ); // true
isDate( '1 July 2015' ); // true
isDate( '1st July 2015' ); // false

// ISO 8601 Dates:
isDate( '2015-07-01T12:30:50' ) // true
isDate( '2015-07-01T12:30:50Z' ); // true 
isDate( '2015-07-01T12:30:50+01:00' ); // true 
isDate( '2015-07-01T12:30:50-01:00' ); // true
isDate( '2015-07-01 12:30:50' ) // false 
isDate( '2015-07-01T12:30:50+1:00' ); // false