UNPKG

iso-datestring-validator

Version:

The goal of the package is to provide lightweight tools for validating strings denotings dates and time. It includes ISO 8601 datestring validation, simple YYYY-MM-DD date validation and time validation in hh:mm:ss.fff format. See details in readme.

1 lines 1.94 kB
(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e,t){return void 0===t&&(t="-"),new RegExp("^(?!0{4}"+t+"0{2}"+t+"0{2})((?=[0-9]{4}"+t+"(((0[^2])|1[0-2])|02(?="+t+"(([0-1][0-9])|2[0-8])))"+t+"[0-9]{2})|(?=((([13579][26])|([2468][048])|(0[48]))0{2})|([0-9]{2}((((0|[2468])[48])|[2468][048])|([13579][26])))"+t+"02"+t+"29))([0-9]{4})"+t+"(?!((0[469])|11)"+t+"31)((0[1,3-9]|1[0-2])|(02(?!"+t+"3)))"+t+"(0[1-9]|[1-2][0-9]|3[0-1])$").test(e)}function n(e){var t=/\D/.exec(e);return t?t[0]:""}function i(e,t,r){void 0===t&&(t=":"),void 0===r&&(r=!1);var i=new RegExp("^([0-1]|2(?=([0-3])|4"+t+"00))[0-9]"+t+"[0-5][0-9]("+t+"([0-5]|6(?=0))[0-9])?(.[0-9]{1,9})?$");if(!r||!/[Z+\-]/.test(e))return i.test(e);if(/Z$/.test(e))return i.test(e.replace("Z",""));var o=e.includes("+"),a=e.split(/[+-]/),u=a[0],d=a[1];return i.test(u)&&function(e,t,r){return void 0===r&&(r=":"),new RegExp(t?"^(0(?!(2"+r+"4)|0"+r+"3)|1(?=([0-1]|2(?="+r+"[04])|[34](?="+r+"0))))([03469](?="+r+"[03])|[17](?="+r+"0)|2(?="+r+"[04])|5(?="+r+"[034])|8(?="+r+"[04]))"+r+"([03](?=0)|4(?=5))[05]$":"^(0(?=[^0])|1(?=[0-2]))([39](?="+r+"[03])|[0-24-8](?="+r+"00))"+r+"[03]0$").test(e)}(d,o,n(d))}function o(e){var t=e.split("T"),o=t[0],a=t[1],u=r(o,n(o));if(!a)return!1;var d,s=(d=a.match(/([^Z+\-\d])(?=\d+\1)/),Array.isArray(d)?d[0]:"");return u&&i(a,s,!0)}function a(e,t){return void 0===t&&(t="-"),new RegExp("^[0-9]{4}"+t+"(0(?=[^0])|1(?=[0-2]))[0-9]$").test(e)}e.r(t),e.d(t,{isValidDate:()=>r,isValidISODateString:()=>o,isValidTime:()=>i,isValidYearMonth:()=>a});var u=exports;for(var d in t)u[d]=t[d];t.__esModule&&Object.defineProperty(u,"__esModule",{value:!0})})();