blob: 847c65d9d1aec8d7aa7242f9476df2ad14b0f497 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
module.exports = isDate;
/**
* Matching format per: http://www.w3.org/TR/NOTE-datetime
*/
var isoformat = '^\\d{4}-\\d{2}-\\d{2}' + // Match YYYY-MM-DD
'((T\\d{2}:\\d{2}(:\\d{2})?)' + // Match THH:mm:ss
'(\\.\\d{1,6})?' + // Match .sssss
'(Z|(\\+|-)\\d{2}:\\d{2})?)?$'; // Time zone (Z or +hh:mm)
var matcher = new RegExp(isoformat);
function isDate (val) {
return typeof val === 'string' &&
matcher.test(val) &&
!isNaN(Date.parse(val));
}
|