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
Readonly
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])?)*$"
Readonly
URL: "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$"
Readonly
PHONE: "^\\+?[1-9]\\d{4,14}$"
Readonly
DATE: "^\\d{4}-\\d{2}-\\d{2}$"
Readonly
TIME: "^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$"
Readonly
INTEGER: "^-?\\d+$"
Readonly
DECIMAL: "^-?\\d+(\\.\\d+)?$"
Readonly
POSITIVE_INTEGER: "^[1-9]\\d*$"
Readonly
POSITIVE_DECIMAL: "^([1-9]\\d*|0)(\\.\\d+)?$"
Readonly
UUID: "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
Readonly
MONGO_ID: "^[0-9a-fA-F]{24}$"
Readonly
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]?)$"
Readonly
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]))$"
Readonly
DOMAIN: "^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.)+[a-zA-Z]{2,}$"
Readonly
MAC_ADDRESS: "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"
Readonly
HEX_COLOR: "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
Readonly
SLUG: "^[a-z0-9]+(?:-[a-z0-9]+)*$"
Readonly
USERNAME: "^[a-zA-Z0-9_]{3,20}$"
Readonly
FILE_EXTENSION: "^.*\\.[a-zA-Z0-9]{1,10}$"
Readonly
IMAGE_FILE: "^.*\\.(jpg|jpeg|png|gif|bmp|svg|webp|ico)$"
Readonly
DOCUMENT_FILE: "^.*\\.(pdf|doc|docx|txt|rtf|odt)$"
Readonly
TIMESTAMP: "^[0-9]{10,13}$"
Readonly
ISO_DATETIME: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?$"
Readonly
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})$"
Readonly
VISA_CARD: "^4[0-9]{12}(?:[0-9]{3})?$"
Readonly
MASTERCARD: "^5[1-5][0-9]{14}$"
Readonly
AMEX: "^3[47][0-9]{13}$"
Readonly
PASSWORD: "^.{6,}$"
Readonly
STRONG_PASSWORD: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]).{8,}$"
Readonly
DIGITS_ONLY: "^\\d+$"
Readonly
LETTERS_ONLY: "^[a-zA-Z]+$"
Readonly
ALPHANUMERIC: "^[a-zA-Z0-9]+$"
Readonly
NO_SPACES: "^\\S+$"
Readonly
TEXT: "^[a-zA-Z0-9\\s.,!?;:'\"-]+$"
Readonly
US_ZIP_CODE: "^\\d{5}(-\\d{4})?$"
Readonly
CANADIAN_POSTAL_CODE: "^[A-Za-z]\\d[A-Za-z][ -]?\\d[A-Za-z]\\d$"
Readonly
UK_POSTCODE: "^[A-Z]{1,2}[0-9][A-Z0-9]? [0-9][ABD-HJLNP-UW-Z]{2}$"
Readonly
GERMAN_POSTCODE: "^\\d{5}$"
Readonly
FRENCH_POSTCODE: "^\\d{5}$"
Readonly
SSN: "^(?!666|000|9\\d{2})\\d{3}-(?!00)\\d{2}-(?!0{4})\\d{4}$"
Readonly
BASE64: "^[A-Za-z0-9+/]*={0,2}$"
Readonly
BITCOIN_ADDRESS: "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$"
Readonly
ETHEREUM_ADDRESS: "^0x[a-fA-F0-9]{40}$"
Readonly
IBAN: "^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$"
Readonly
SWIFT_CODE: "^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$"
Readonly
ISBN_10: "^(?:\\d{9}[\\dX]|\\d{10})$"
Readonly
ISBN_13: "^97[89]\\d{10}$"
Readonly
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-]+)*))?$"
Readonly
JWT_TOKEN: "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*$"
Readonly
GIT_COMMIT: "^[a-f0-9]{7,40}$"
Readonly
GITHUB_USERNAME: "^[a-z\\d](?:[a-z\\d]|-(?=[a-z\\d])){0,38}$"
Readonly
TWITTER_HANDLE: "^@?(\\w){1,15}$"
Readonly
DISCORD_ID: "^\\d{17,19}$"
Readonly
SLACK_USER_ID: "^U[A-Z0-9]{8,10}$"
Readonly
YOUTUBE_VIDEO_ID: "^[a-zA-Z0-9_-]{11}$"
Readonly
AWS_S3_BUCKET: "^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$"
Readonly
DOCKER_IMAGE: "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[a-zA-Z0-9._-]+)?$"
Readonly
K8S_RESOURCE_NAME: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
Readonly
NPM_PACKAGE: "^(?:@[a-z0-9-*~][a-z0-9-*._~]*\\/)?[a-z0-9-~][a-z0-9-._~]*$"
Readonly
E164_PHONE: "^\\+[1-9]\\d{1,14}$"
Readonly
LINKEDIN_PROFILE: "^https:\\/\\/(www\\.)?linkedin\\.com\\/in\\/[a-zA-Z0-9-]+\\/?$"
Readonly
GOOGLE_DRIVE_ID: "^[a-zA-Z0-9-_]{25,}$"
Readonly
FIREBASE_PROJECT_ID: "^[a-z0-9-]{6,30}$"
Readonly
AZURE_RESOURCE_GROUP: "^[a-zA-Z0-9._()-]{1,90}$"