std.validate.us_ssn
US SSN (Social Security Number) — amerikanische Sozialversicherungsnummer (9 Ziffern, Format AAA-GG-SSSS). Die Validierung ist rein strukturell: Es gibt keine mathematische Prüfziffer. Stattdessen werden bekannte ungültige Muster ausgeschlossen: Area 000, Group 00, Serial 0000, sowie bekannte Testserien (z.B. 078-05-1120, 219-09-9999).
Konstanten
| Name | Wert | Bedeutung |
|---|---|---|
US_SSN_OK | 0 | Strukturell gültig |
US_SSN_ERR_INVALID_LENGTH | 1 | Länge ≠ 9 (ohne Bindestriche) |
US_SSN_ERR_INVALID_CHAR | 2 | Nur Ziffern erlaubt |
US_SSN_ERR_INVALID_AREA | 3 | Area 000 oder 666 oder ≥ 900 |
US_SSN_ERR_INVALID_GROUP | 4 | Group 00 |
US_SSN_ERR_INVALID_SERIAL | 5 | Serial 0000 |
US_SSN_ERR_KNOWN_INVALID | 6 | Bekannte ungültige oder Test-SSN |
Verwendung
import std.validate.us_ssn;
var ssn: pchar := "078-05-1120"; // bekannte Test-SSN (Woolworth-Portemonnaie 1938)
var result: int64 := USSNValidate(ssn);
if (result = US_SSN_ERR_KNOWN_INVALID) {
log_error("Bekannte ungültige SSN");
}
var validSsn: pchar := "123-45-6789";
if (USSNValidate(validSsn) = US_SSN_OK) {
log_info(USSNFormat(USSNNormalize(validSsn))); // "123-45-6789"
log_info(USSNGetArea(validSsn)); // "123"
}
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
USSNValidate(ssn: pchar): int64 | pub | SSN strukturell validieren |
USSNNormalize(ssn: pchar): pchar | pub | Bindestriche und Leerzeichen entfernen |
USSNFormat(ssn: pchar): pchar | pub | SSN mit Bindestrichen formatieren („AAA-GG-SSSS“) |
USSNGetArea(ssn: pchar): pchar | pub | Area-Code (erste 3 Stellen) extrahieren |
USSNGetGroup(ssn: pchar): pchar | pub | Group-Code (Stellen 4–5) extrahieren |
USSNGetSerial(ssn: pchar): pchar | pub | Serial-Code (letzte 4 Stellen) extrahieren |
Letzte Aktualisierung: 2026-05-23
