Fonctionnement du motif
| Partie | Signification |
|---|---|
(?!000|666|9\d\d)\d{3} | Numéro de zone : trois chiffres, mais jamais 000, 666 ni 900 à 999 |
(?!00)\d{2} | Numéro de groupe : jamais 00 |
(?!0000)\d{4} | Numéro de série : jamais 0000 |
- | Tirets entre les parties |
Exemples de code
JavaScript
const re = /^(?!000|666|9\d\d)\d{3}-(?!00)\d{2}-(?!0000)\d{4}$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?!000|666|9\d\d)\d{3}-(?!00)\d{2}-(?!0000)\d{4}', value))PHP
preg_match('/^(?!000|666|9\d\d)\d{3}-(?!00)\d{2}-(?!0000)\d{4}$/', $value) === 1;
Remarques et limites
Les assertions négatives anticipées excluent les plages de numéros que la Social Security Administration n’attribue jamais. Traitez les SSN comme des données sensibles : masquez-les dans les journaux et les interfaces.
Testeur d’expressions régulières
Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.