UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

23 lines 1.4 kB
const zuluRegex = /\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2]\d|3[0-1])T(?:[0-1]\d|2[0-3]):[0-5]\d:[0-5]\dZ/; // SharePoint Created/Modified: "2020-09-01T02:10:08Z" const yyyymmRegex = /^([0-9]{4})[\/\-.](1[0-2]|0[1-9])$/; //2018-10 const yyyymmddRegex = /^(([12]\d{3})[\/\-.](0[1-9]|1[0-2])[\/\-.](0[1-9]|[12]\d|3[01]))$/; //2018-10-31 const yyyymmddhhmmssRegex = /^([0-9]{4})[\/\-.](1[0-2]|0[1-9])[\/\-.](3[01]|0[1-9]|[12][0-9]) (2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])$/; //2008-10-30 17:21:59 const mmddyyyyRegex = /\d{2}[\/\-.]\d{2}[\/\-.]\d{4}/; const isoRegex = /(\d{4})-(\d{2})-(\d{2})T(\d{2})\:(\d{2})\:(\d{2})[+-](\d{2})\:(\d{2})/; //2012-10-06T04:13:00+00:00 export function isStringValidDate(test, type) { let result = false; if (result === false && (type === 'zulu' || type === 'common')) { result = zuluRegex.exec(test) ? true : false; } if (result === false && (type === 'us' || type === 'common')) { result = yyyymmRegex.exec(test) || yyyymmddRegex.exec(test) || yyyymmddhhmmssRegex.exec(test) ? true : false; } if (result === false && (type === 'eu' || type === 'common')) { result = mmddyyyyRegex.exec(test) ? true : false; } if (result === false && (type === 'iso' || type === 'common')) { result = isoRegex.exec(test) ? true : false; } return result; } //# sourceMappingURL=checks.js.map