Security & PII
Protect your infrastructure and user data with audited patterns for sensitive input. From email validation to secure password requirements, these patterns are built to be ReDoS-safe and RFC-compliant.
Email Address (RFC 5321 Practical)
Matches a practical email address: local part + @ + domain. Balances RFC compliance with real-world usage.
Email Local Part Only
Matches only the local part of an email address (before the @), with common character set.
Email Domain Part Only
Matches only the domain part of an email address (after the @).
Disposable / Temporary Email Domain Detection
Matches common disposable email service domains used to create throwaway addresses.
Gmail Address with Canonical Normalization
Matches and captures Gmail addresses in a form suitable for canonical normalization (ignoring dots and + tags).
Singapore NRIC / FIN Number
Matches a Singapore National Registration Identity Card (NRIC) or Foreign Identification Number (FIN).
UK National Insurance Number (NI)
Matches a UK NI number: two letters, six digits, one suffix letter A-D.
Malaysian IC Number (MyKad / NRIC)
Matches a Malaysian national ID number (MyKad): YYMMDD-SS-NNNN format.
Hong Kong HKID Number
Matches a Hong Kong Identity Card number: 1-2 letters + 6 digits + 1 check character in parentheses.
South Korean Resident Registration Number (RRN)
Matches a South Korean Resident Registration Number: YYMMDD-SNNNNNC format.
Chinese Citizen ID Number (Shenfenzheng)
Matches a Chinese national ID number (二代身份证): 17 digits + 1 check character (0-9 or X).
Indian Aadhaar Number
Matches an Indian Aadhaar UID: 12 digits, first digit not 0 or 1, optionally space/hyphen separated.
Thai National ID (บัตรประชาชน)
Matches a Thai national identification number: exactly 13 digits with Luhn-like checksum.
Indonesian KTP (Kartu Tanda Penduduk) NIK
Matches an Indonesian National Identity Card (KTP) number: 16 digits.
South African ID Number
Matches a South African ID number: 13 digits encoding DOB, gender, citizenship, and a checksum.
Brazilian CPF (Cadastro de Pessoas Físicas)
Matches a Brazilian individual taxpayer registry number (CPF): 11 digits or XXX.XXX.XXX-XX formatted.
Brazilian CNPJ (Cadastro Nacional da Pessoa Jurídica)
Matches a Brazilian company registry number (CNPJ): 14 digits or XX.XXX.XXX/XXXX-XX formatted.
ICAO Machine-Readable Zone Line 1 (MRZ)
Matches the first line of an ICAO 9303 Machine-Readable Zone (MRZ) for a passport.
ICAO MRZ Line 2 (Passport Data Line)
Matches the second line of an ICAO 9303 Machine-Readable Zone (MRZ) for a passport.
US Passport Number
Matches a US passport number: 9 alphanumeric characters (letter + 8 digits for books, or 9 chars for cards).
UK Passport Number
Matches a UK passport number: 9 numeric digits.
Indian Passport Number
Matches an Indian passport number: 1 uppercase letter + 7 digits.
Schengen / EU Passport Number (Generic)
Matches a generic EU/Schengen area passport number format — most are alphanumeric, 8-9 characters.
US National Provider Identifier (NPI)
Matches a US NPI number: exactly 10 digits, with Luhn check digit.
UK NHS Number
Matches a UK NHS number: 10 digits, optionally formatted as XXX XXX XXXX or XXX-XXX-XXXX.
Australian Medicare Number
Matches an Australian Medicare card number: 10 digits + optional IRN (1 digit).
Australian Individual Healthcare Identifier (IHI)
Matches an Australian IHI: 16 digits starting with 800 36.
US DEA Number (Drug Enforcement Administration)
Matches a US DEA registration number for prescribers: 2 letters + 7 digits with checksum.
EU European Health Insurance Card (EHIC) Number
Matches an EHIC personal identification number (PIC) — country-specific but follows a general alphanumeric format.
Singapore NRIC (used as health ID)
Same format as the general NRIC — included here as Singapore uses the NRIC as its primary health identifier (SingPass / HealthHub).
US Driver's License (Generic, State-Dependent)
Matches common US driver's license formats: alphanumeric, 1-18 characters.
UK DVLA Driver's License Number
Matches a UK driving licence number: encodes surname, DOB, gender, and initials.
Australian Driver's Licence Number
Matches an Australian driver's licence number: format varies by state, generally 6-9 alphanumeric characters.
Singapore Driving Licence Number
Matches a Singapore driving licence number: S + 7 digits + 1 check letter, similar to NRIC.
IMEI Number (Mobile Device)
Matches an IMEI (International Mobile Equipment Identity): exactly 15 digits.
ICCID (SIM Card Serial Number)
Matches an ICCID (Integrated Circuit Card Identifier): 18-22 digits identifying a SIM card.
IPv4 Address (as PII identifier)
Matches an IPv4 address in dot-decimal notation — included as PII because IP addresses are personal data under GDPR.
OAuth / OpenID Connect Sub Claim
Matches an OAuth 2.0 / OIDC subject identifier: alphanumeric string, typically UUID or opaque token.
Browser Fingerprint Hash
Matches a browser fingerprint hash: typically MD5 or SHA-256 hex string.
Apple IDFA / Google GAID (Advertising ID)
Matches a mobile advertising identifier in UUID v4 format (both IDFA and GAID use this format).
Blood Type / Blood Group
Matches a human ABO blood group with Rh factor.
Height (Metric and Imperial)
Matches a height measurement in cm (metric) or feet/inches (imperial).
Body Mass Index (BMI)
Matches a BMI value: numeric, 10.0-70.0 range covering all recorded human values.
Gender Marker (Medical / Governmental)
Matches common gender or sex marker codes used in official documents and health records.
Fingerprint Quality Score (NIST NFIQ)
Matches an NFIQ2 fingerprint quality score: integer 0-100.
Eye Color (Standardized)
Matches standardized eye color codes used in legal documents and forensic contexts.
Hair Color (AAMVA Standardized)
Matches AAMVA standardized hair color codes used on US driver's licences.
US Social Security Number (SSN) — PII context
Matches a US SSN in PII context: XXX-XX-XXXX format, excluding known-invalid ranges.
Credit Card Number with Network Detection
Matches a payment card number and captures the card network via the IIN/BIN prefix.
Bank Account Number (Generic Sensitive)
Matches a generic bank account number: 6-18 digits (covers most countries' domestic account numbers).
GPS Coordinates (Decimal Degrees — High Precision)
Matches GPS coordinates in decimal degrees format with high precision — potential home address data.
Street Address (US Format)
Matches a US-style street address: number + optional unit + street name + street type.
What3Words Address
Matches a What3Words address: three lowercase English words separated by dots.
Professional License Number (US, Generic)
Matches a generic professional license number: 2-char state code + alphanumeric license number.
Bar Admission Number (Attorney)
Matches a US state bar admission number: numeric or alphanumeric, 4-10 characters.
GDPR Consent Record ID
Matches a GDPR consent record identifier: UUID v4 format.
Data Subject Request (DSR) Reference Number
Matches a Data Subject Request (DSAR/DSR) reference number in common formats.
Privacy Policy Version Identifier
Matches a privacy policy or terms version in semantic versioning format.