Variable REGEX_PATTERNSConst
REGEX_PATTERNS: {
EMAIL: "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$";
URL: "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$";
PHONE: "^\\+?[1-9]\\d{4,14}$";
DATE: "^\\d{4}-\\d{2}-\\d{2}$";
TIME: "^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$";
INTEGER: "^-?\\d+$";
DECIMAL: "^-?\\d+(\\.\\d+)?$";
POSITIVE_INTEGER: "^[1-9]\\d*$";
POSITIVE_DECIMAL: "^([1-9]\\d*|0)(\\.\\d+)?$";
UUID: "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$";
MONGO_ID: "^[0-9a-fA-F]{24}$";
IPV4: "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
IPV6: "^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$";
DOMAIN: "^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.)+[a-zA-Z]{2,}$";
MAC_ADDRESS: "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$";
HEX_COLOR: "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$";
SLUG: "^[a-z0-9]+(?:-[a-z0-9]+)*$";
USERNAME: "^[a-zA-Z0-9_]{3,20}$";
FILE_EXTENSION: "^.*\\.[a-zA-Z0-9]{1,10}$";
IMAGE_FILE: "^.*\\.(jpg|jpeg|png|gif|bmp|svg|webp|ico)$";
DOCUMENT_FILE: "^.*\\.(pdf|doc|docx|txt|rtf|odt)$";
TIMESTAMP: "^[0-9]{10,13}$";
ISO_DATETIME: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?$";
CREDIT_CARD: "^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3[0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$";
VISA_CARD: "^4[0-9]{12}(?:[0-9]{3})?$";
MASTERCARD: "^5[1-5][0-9]{14}$";
AMEX: "^3[47][0-9]{13}$";
PASSWORD: "^.{6,}$";
STRONG_PASSWORD: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]).{8,}$";
DIGITS_ONLY: "^\\d+$";
LETTERS_ONLY: "^[a-zA-Z]+$";
ALPHANUMERIC: "^[a-zA-Z0-9]+$";
NO_SPACES: "^\\S+$";
TEXT: "^[a-zA-Z0-9\\s.,!?;:'\"-]+$";
US_ZIP_CODE: "^\\d{5}(-\\d{4})?$";
CANADIAN_POSTAL_CODE: "^[A-Za-z]\\d[A-Za-z][ -]?\\d[A-Za-z]\\d$";
UK_POSTCODE: "^[A-Z]{1,2}[0-9][A-Z0-9]? [0-9][ABD-HJLNP-UW-Z]{2}$";
GERMAN_POSTCODE: "^\\d{5}$";
FRENCH_POSTCODE: "^\\d{5}$";
SSN: "^(?!666|000|9\\d{2})\\d{3}-(?!00)\\d{2}-(?!0{4})\\d{4}$";
BASE64: "^[A-Za-z0-9+/]*={0,2}$";
BITCOIN_ADDRESS: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$";
ETHEREUM_ADDRESS: "^0x[a-fA-F0-9]{40}$";
IBAN: "^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$";
SWIFT_CODE: "^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$";
ISBN_10: "^(?:\\d{9}[\\dX]|\\d{10})$";
ISBN_13: "^97[89]\\d{10}$";
SEMVER: "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$";
JWT_TOKEN: "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*$";
GIT_COMMIT: "^[a-f0-9]{7,40}$";
GITHUB_USERNAME: "^[a-z\\d](?:[a-z\\d]|-(?=[a-z\\d])){0,38}$";
TWITTER_HANDLE: "^@?(\\w){1,15}$";
DISCORD_ID: "^\\d{17,19}$";
SLACK_USER_ID: "^U[A-Z0-9]{8,10}$";
YOUTUBE_VIDEO_ID: "^[a-zA-Z0-9_-]{11}$";
AWS_S3_BUCKET: "^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$";
DOCKER_IMAGE: "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[a-zA-Z0-9._-]+)?$";
K8S_RESOURCE_NAME: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$";
NPM_PACKAGE: "^(?:@[a-z0-9-*~][a-z0-9-*._~]*\\/)?[a-z0-9-~][a-z0-9-._~]*$";
E164_PHONE: "^\\+[1-9]\\d{1,14}$";
LINKEDIN_PROFILE: "^https:\\/\\/(www\\.)?linkedin\\.com\\/in\\/[a-zA-Z0-9-]+\\/?$";
GOOGLE_DRIVE_ID: "^[a-zA-Z0-9-_]{25,}$";
FIREBASE_PROJECT_ID: "^[a-z0-9-]{6,30}$";
AZURE_RESOURCE_GROUP: "^[a-zA-Z0-9._()-]{1,90}$";
} = ...
Type declaration
ReadonlyEMAIL: "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"
ReadonlyURL: "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$"
ReadonlyPHONE: "^\\+?[1-9]\\d{4,14}$"
ReadonlyDATE: "^\\d{4}-\\d{2}-\\d{2}$"
ReadonlyTIME: "^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$"
ReadonlyINTEGER: "^-?\\d+$"
ReadonlyDECIMAL: "^-?\\d+(\\.\\d+)?$"
ReadonlyPOSITIVE_INTEGER: "^[1-9]\\d*$"
ReadonlyPOSITIVE_DECIMAL: "^([1-9]\\d*|0)(\\.\\d+)?$"
ReadonlyUUID: "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
ReadonlyMONGO_ID: "^[0-9a-fA-F]{24}$"
ReadonlyIPV4: "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
ReadonlyIPV6: "^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$"
ReadonlyDOMAIN: "^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.)+[a-zA-Z]{2,}$"
ReadonlyMAC_ADDRESS: "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"
ReadonlyHEX_COLOR: "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
ReadonlySLUG: "^[a-z0-9]+(?:-[a-z0-9]+)*$"
ReadonlyUSERNAME: "^[a-zA-Z0-9_]{3,20}$"
ReadonlyFILE_EXTENSION: "^.*\\.[a-zA-Z0-9]{1,10}$"
ReadonlyIMAGE_FILE: "^.*\\.(jpg|jpeg|png|gif|bmp|svg|webp|ico)$"
ReadonlyDOCUMENT_FILE: "^.*\\.(pdf|doc|docx|txt|rtf|odt)$"
ReadonlyTIMESTAMP: "^[0-9]{10,13}$"
ReadonlyISO_DATETIME: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?$"
ReadonlyCREDIT_CARD: "^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3[0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$"
ReadonlyVISA_CARD: "^4[0-9]{12}(?:[0-9]{3})?$"
ReadonlyMASTERCARD: "^5[1-5][0-9]{14}$"
ReadonlyAMEX: "^3[47][0-9]{13}$"
ReadonlyPASSWORD: "^.{6,}$"
ReadonlySTRONG_PASSWORD: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]).{8,}$"
ReadonlyDIGITS_ONLY: "^\\d+$"
ReadonlyLETTERS_ONLY: "^[a-zA-Z]+$"
ReadonlyALPHANUMERIC: "^[a-zA-Z0-9]+$"
ReadonlyNO_SPACES: "^\\S+$"
ReadonlyTEXT: "^[a-zA-Z0-9\\s.,!?;:'\"-]+$"
ReadonlyUS_ZIP_CODE: "^\\d{5}(-\\d{4})?$"
ReadonlyCANADIAN_POSTAL_CODE: "^[A-Za-z]\\d[A-Za-z][ -]?\\d[A-Za-z]\\d$"
ReadonlyUK_POSTCODE: "^[A-Z]{1,2}[0-9][A-Z0-9]? [0-9][ABD-HJLNP-UW-Z]{2}$"
ReadonlyGERMAN_POSTCODE: "^\\d{5}$"
ReadonlyFRENCH_POSTCODE: "^\\d{5}$"
ReadonlySSN: "^(?!666|000|9\\d{2})\\d{3}-(?!00)\\d{2}-(?!0{4})\\d{4}$"
ReadonlyBASE64: "^[A-Za-z0-9+/]*={0,2}$"
ReadonlyBITCOIN_ADDRESS: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$"
ReadonlyETHEREUM_ADDRESS: "^0x[a-fA-F0-9]{40}$"
ReadonlyIBAN: "^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$"
ReadonlySWIFT_CODE: "^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$"
ReadonlyISBN_10: "^(?:\\d{9}[\\dX]|\\d{10})$"
ReadonlyISBN_13: "^97[89]\\d{10}$"
ReadonlySEMVER: "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
ReadonlyJWT_TOKEN: "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*$"
ReadonlyGIT_COMMIT: "^[a-f0-9]{7,40}$"
ReadonlyGITHUB_USERNAME: "^[a-z\\d](?:[a-z\\d]|-(?=[a-z\\d])){0,38}$"
ReadonlyTWITTER_HANDLE: "^@?(\\w){1,15}$"
ReadonlyDISCORD_ID: "^\\d{17,19}$"
ReadonlySLACK_USER_ID: "^U[A-Z0-9]{8,10}$"
ReadonlyYOUTUBE_VIDEO_ID: "^[a-zA-Z0-9_-]{11}$"
ReadonlyAWS_S3_BUCKET: "^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$"
ReadonlyDOCKER_IMAGE: "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[a-zA-Z0-9._-]+)?$"
ReadonlyK8S_RESOURCE_NAME: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
ReadonlyNPM_PACKAGE: "^(?:@[a-z0-9-*~][a-z0-9-*._~]*\\/)?[a-z0-9-~][a-z0-9-._~]*$"
ReadonlyE164_PHONE: "^\\+[1-9]\\d{1,14}$"
ReadonlyLINKEDIN_PROFILE: "^https:\\/\\/(www\\.)?linkedin\\.com\\/in\\/[a-zA-Z0-9-]+\\/?$"
ReadonlyGOOGLE_DRIVE_ID: "^[a-zA-Z0-9-_]{25,}$"
ReadonlyFIREBASE_PROJECT_ID: "^[a-z0-9-]{6,30}$"
ReadonlyAZURE_RESOURCE_GROUP: "^[a-zA-Z0-9._()-]{1,90}$"