UNPKG

@valkyriestudios/validator

Version:

A lightweight configurable javascript validator

46 lines (45 loc) 1.88 kB
const UUID_V1_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-1[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V2_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-2[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V3_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V4_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V5_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V6_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-6[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V7_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_V8_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-8[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const UUID_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; function hasUuidDashes(val) { return (typeof val === 'string' && val.length === 36 && val[8] === '-' && val[13] === '-' && val[18] === '-' && val[23] === '-'); } function vUuid(val) { return hasUuidDashes(val) && UUID_RGX.test(val); } function vUuidV1(val) { return hasUuidDashes(val) && UUID_V1_RGX.test(val); } function vUuidV2(val) { return hasUuidDashes(val) && UUID_V2_RGX.test(val); } function vUuidV3(val) { return hasUuidDashes(val) && UUID_V3_RGX.test(val); } function vUuidV4(val) { return hasUuidDashes(val) && UUID_V4_RGX.test(val); } function vUuidV5(val) { return hasUuidDashes(val) && UUID_V5_RGX.test(val); } function vUuidV6(val) { return hasUuidDashes(val) && UUID_V6_RGX.test(val); } function vUuidV7(val) { return hasUuidDashes(val) && UUID_V7_RGX.test(val); } function vUuidV8(val) { return hasUuidDashes(val) && UUID_V8_RGX.test(val); } export { vUuid, vUuidV1, vUuidV2, vUuidV3, vUuidV4, vUuidV5, vUuidV6, vUuidV7, vUuidV8 };