@valkyriestudios/validator
Version:
A lightweight configurable javascript validator
26 lines (25 loc) • 1.27 kB
JavaScript
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_RGX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
function vUuid(val) {
return typeof val === 'string' && val.length === 36 && UUID_RGX.test(val);
}
function vUuidV1(val) {
return typeof val === 'string' && val.length === 36 && UUID_V1_RGX.test(val);
}
function vUuidV2(val) {
return typeof val === 'string' && val.length === 36 && UUID_V2_RGX.test(val);
}
function vUuidV3(val) {
return typeof val === 'string' && val.length === 36 && UUID_V3_RGX.test(val);
}
function vUuidV4(val) {
return typeof val === 'string' && val.length === 36 && UUID_V4_RGX.test(val);
}
function vUuidV5(val) {
return typeof val === 'string' && val.length === 36 && UUID_V5_RGX.test(val);
}
export { vUuid, vUuidV1, vUuidV2, vUuidV3, vUuidV4, vUuidV5 };