Netherlands Phone Number
Detects Dutch national telephone numbers per the ACM-administered numbering plan: 10-digit numbers (leading trunk 0 included) covering geographic numbers (area code first significant digit 1-5 or 7, e.g. 020 Amsterdam, 010 Rotterdam, 070 Den Haag) and mobile numbers (06 prefix), plus the +31 international form (leading 0 dropped), including the widespread "+31 (0)6 12345678" letterhead rendering (a common-but-nonstandard practice — ITU-T E.123 advises against the parenthesised trunk digit in international notation, but it is ubiquitous on Dutch letterheads, so it is matched for detection purposes). Numbers beginning 08 (0800 free-of-charge service numbers, 088 non-geographic business lines) and 09 (0900/0906/0909 premium-rate information numbers) are intentionally out of scope — these are organizational/service numbers rather than personal PII, mirroring how uk-phone-number and fr-phone-number scope out their own non-geographic service ranges. Note this also excludes the 085 and 091 location-independent subscriber ranges (VoIP numbers ACM makes available to individuals as well as businesses): a personal 085/091 VoIP line is therefore a known false negative, accepted because the 085/088/091 block is predominantly organizational in practice and cannot be split from it structurally.
- Type
- regex
- Engine
- universal
- Confidence
- medium
- Confidence justification
- Medium confidence: the leading-digit constraint (01-07 domestic, restricting to geographic area codes and the 06 mobile block) and the fixed 10-digit total length narrow the format, but Dutch numbers carry no checksum and a 10-digit sequence with those leading digits is still a high digit-collision format. Per the phone-family convention (every tier requires positive corroborative evidence; a +CC prefix alone is insufficient gating; there is no 65 rung), both the domestic and +31 international sub-regexes are evidence-gated at every tier: 75 requires generic phone-context evidence and 85 requires country-specific phone keywords with template/noise exclusion. The literal +31 prefix improves precision when present but is not by itself sufficient gating.
- Jurisdictions
- nl
- Regulations
- GDPR
- Frameworks
- ISO 27001, ISO 27701, SOC 2
- Data categories
- pii, contact-information
- Scope
- narrow
- Risk rating
- 5
- Platform compatibility
- Purview: Compatible, GCP DLP: Unsupported, Macie: Unsupported, Zscaler: Compatible, Palo Alto: Unsupported, Netskope: Unsupported
Pattern
(?<!\d)(?:\+31[\s.-]?(?:\(0\)[\s.-]?)?[1-7][\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d|0[1-7][\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d)(?!\d)
Corroborative evidence keywords
phone, mobile, call, text, contact number, Dutch phone number, telefoonnummer, call me at, cell, telephone, tel, dial, text me, text message, [object Object], WhatsApp, voicemail, phone number, mobile number, landline (+8 more)
Proximity: 300 characters
Should match
Mobiel: 06 12345678— Domestic mobile, 06 prefix, illustrative synthetic value (no official ACM-reserved fictional range was found — verified absent during research), space-separatedTelefoonnummer: 020 1234567— Domestic geographic, Amsterdam area code (020), illustrative synthetic valueBel: 070-1234567— Domestic geographic, Den Haag area code (070), hyphenatedInternational: +31 6 12345678— International +31 form of the mobile number, leading 0 droppedBriefhoofd: +31 (0)6 12345678— Widespread "+CC (0)" letterhead rendering — nonstandard per E.123 but ubiquitous on Dutch letterheads
Should not match
0800 123456— Leading digit 8 is a free-of-charge service number (0800), out of scope for this personal-communications pattern085 1234567— 085 location-independent VoIP range — out of scope with the rest of the 08 block (documented known false negative for personal 085 lines)0900-1234567— Leading digit 9 is a premium-rate information number (0900), out of scope06 1234567— Only 7 digits after the 06 mobile prefix, one short of the required 8906123456789— Valid-shaped digit run embedded inside a longer reference number, rejected by digit boundaries
Known false positives
- A 10-digit sequence with a 01-07 leading digit can still coincidentally match invoice numbers, order numbers, or other structured identifiers of the same length and leading-digit distribution. Mitigation: Every tier — for both the domestic and +31 international sub-regexes — requires positive phone-context or country-specific evidence within 300 characters; no zero-evidence tier exists, so a bare digit run without corroborating context never fires at any confidence level.
- No official ACM-reserved fictional or test number range was found for the Netherlands (confirmed by web research, unlike NANP's 555-01XX or Ofcom's drama numbers), so illustrative synthetic values were used instead of an authoritative reserved range. Mitigation: Test values use clearly non-representative sequential digit patterns; deployers should substitute their own tenant's synthetic test data for live validation rather than relying on a non-existent official reserved range.
References
- ACM: Telefoonnummers
- ACM ConsuWijzer: De verdeling van telefoonnummers in Nederland (area-code and service-number breakdown)
- ACM: Informatie over 097- en 06-nummers — factsheet voor telecomaanbieders (10-digit mobile numbers)
- Rijksoverheid: Welke soorten telefoonnummers zijn er? — 085 (VoIP) and 091 (new services) location-independent ranges, available to individuals and businesses
- ITU-T Recommendation E.123: Notation for national and international telephone numbers — the international "(0)" trunk-digit form is documented as common practice that E.123 advises against