Cara kerja pola
| Bagian | Arti |
|---|---|
(?!000|666|9\d\d)\d{3} | Nomor area: tiga digit, tetapi tidak pernah 000, 666, atau 900–999 |
(?!00)\d{2} | Nomor grup: tidak pernah 00 |
(?!0000)\d{4} | Nomor seri: tidak pernah 0000 |
- | Tanda hubung di antara bagian |
Contoh kode
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;
Catatan dan batasan
Negative lookahead menyingkirkan rentang nomor yang tidak pernah diterbitkan oleh Social Security Administration. Perlakukan SSN sebagai data sensitif: sembunyikan (mask) di log dan antarmuka.
Regex Tester
Ketik pola dan lihat hasil cocok langsung ter-highlight di teks ujimu.