So funktioniert das Muster
| Teil | Bedeutung |
|---|---|
(?!000|666|9\d\d)\d{3} | Bereichsnummer: drei Ziffern, aber nie 000, 666 oder 900–999 |
(?!00)\d{2} | Gruppennummer: nie 00 |
(?!0000)\d{4} | Seriennummer: nie 0000 |
- | Bindestriche zwischen den Teilen |
Code-Beispiele
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;
Hinweise und Einschränkungen
Negative Lookaheads schließen Nummernbereiche aus, die die Social Security Administration nie vergibt. Behandle SSNs als sensible Daten: Maskiere sie in Logs und Oberflächen.
Regex-Tester
Gib ein Muster ein und sieh zu, wie Übereinstimmungen in deinem Testtext in Echtzeit hervorgehoben werden.