French Phone Number
Detects French national telephone numbers per ARCEP's numbering plan: 10-digit numbers in the "0X XX XX XX XX" form covering geographic (01-05), mobile/personal (06-07), and polyvalent (09) leading digits, plus the +33 international form (10-digit domestic number with the leading 0 dropped, per ARCEP convention), including the widespread "+33 (0)6 39 98 45 67" 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 French letterheads and email signatures, so it is matched for detection purposes). The 09 polyvalent range is in scope because it is predominantly personal PII in practice: 09 is the standard residential VoIP home-line range, auto-issued with consumer internet boxes to millions of French households; only the small 0937-0939 sub-range carries ARCEP's newer "technical platform" category (app-to-driver ephemeral numbers and similar). Numbers beginning 08 (value-added services) remain intentionally out of scope — organizational/service numbers rather than personal PII, mirroring how uk-phone-number scopes out non-geographic service ranges.
- Type
- regex
- Engine
- universal
- Confidence
- medium
- Confidence justification
- Medium confidence: the leading-digit constraint (01-07 and 09 domestic, restricting to geographic, mobile/personal, and polyvalent ranges) and the fixed 10-digit length narrow the format, but French 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 +33 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 +33 prefix improves precision when present but is not by itself sufficient gating.
- Jurisdictions
- fr
- 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)(?:\+33[\s.-]?(?:\(0\)[\s.-]?)?[1-79][\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d[\s.-]?\d|0[1-79][\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, French phone number, numéro de téléphone, 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
Portable: 06 39 98 45 67— ARCEP-reserved fictional root for audiovisual works (Décision n° 2021-0532, §2.5.12), mobile 06 range, space-separatedFixe : 01 99 00 12 34— ARCEP-reserved fictional root, geographic 01 (Paris-region-style) rangeBureau: 02.61.91.78.90— ARCEP-reserved fictional root, geographic 02 range, dot-separatedInternational: +33 6 39 98 45 67— International +33 form of the mobile fictional root, leading 0 droppedEn-tête : +33 (0)6 39 98 45 67— Widespread "+CC (0)" letterhead rendering — nonstandard per E.123 but ubiquitous on French letterheadsDomicile: 09 70 12 34 56— Polyvalent 09 residential VoIP home-line range, illustrative synthetic value (ARCEP's audiovisual-works fictional roots include no 09 root)
Should not match
08 92 68 00 00— Leading digit 8 is a value-added-service number, out of scope for this personal-communications pattern00 12 34 56 78— Second digit 0 — "00" is the international call prefix, not a subscriber-number category (the plan's subscriber categories are 01-09; this pattern covers 01-07 and 09, with 08 value-added services deliberately out of scope)01 99 00 12— Only 8 digits total, two short of the required 10901990012345678— 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 or 09 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 +33 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.
- Since January 2023, geographic numbers (01-05) are no longer tied to a physical department, so the leading digit alone does not confirm a caller's actual location — this pattern detects the number format only, not geographic attribution. Mitigation: Rely on surrounding document context (postal addresses, entity names) rather than the leading digit for any geographic-attribution use case.
- Within the 09 range, the 0937-0939 sub-range carries ARCEP's "technical platform" category (organizational platform-to-customer communication numbers, e.g. app-to-driver ephemeral numbers) rather than personal home lines — the regex cannot distinguish this sub-range from the residential VoIP majority of the 09 block. Mitigation: Accepted trade-off: the 09 block outside 0937-0939 is predominantly personal residential lines, and a platform number matched in error is a low-harm false positive; evidence gating still applies at every tier.
References
- ARCEP: La numérotation (10-digit plan, 01-09 categories)
- Légifrance: Décision n° 2021-0532 du 8 avril 2021 (plan national de numérotation), incl. §2.5.12 Numéros pour œuvres audiovisuelles
- ARCEP: 06/07 reserved for interpersonal communications; 09 polyvalent numbers incl. the technical-platform sub-category
- 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