
SSN Regex Python Validator
Validieren Sie US-amerikanische Sozialversicherungsnummern (SSN) mühelos mit dem SSN Regex Python Validator. Dieses Tool stellt die korrekte "AAA-GG-SSSS"-Struktur mithilfe des Python-Moduls re sicher. Weitere Tools: Email Regex Python Validator, Phone Number Regex Python Validator und Python Regex Tester.
SSN Regex Python Validator - Dokumentation
Was ist SSN Regex?
Eine Sozialversicherungsnummer (SSN) in den USA folgt dem Standardformat:
XXX-XX-XXXX
Dabei gilt:
XXX: Gebietsnummer (3 Stellen)
XX: Gruppennummer (2 Stellen)
XXXX: Seriennummer (4 Stellen)
Dieses Format gewährleistet eine strukturierte Identifikation für steuerliche und rechtliche Zwecke. Regex hilft zu prüfen, ob eine Eingabe strikt diesem Format entspricht.
Eine gültige SSN muss zusätzlich folgende Kriterien erfüllen:
9 Ziffern insgesamt, aufgeteilt durch Bindestriche in drei Teile.
Erster Teil (Gebietsnummer): 3 Ziffern; darf nicht 000, 666 oder ein Wert zwischen 900 und 999 sein.
Zweiter Teil (Gruppennummer): 2 Ziffern; muss zwischen 01 und 99 liegen (nicht 00).
Dritter Teil (Seriennummer): 4 Ziffern; muss zwischen 0001 und 9999 liegen (nicht 0000).
Diese Regeln stellen sicher, dass nur korrekt strukturierte SSNs die Validierung bestehen und verbessern die Datenintegrität.
SSN Regex-Muster
Das typische regex-Muster zur Validierung einer korrekt formatierten SSN lautet:
^\d{3}-\d{2}-\d{4}$Aufschlüsselung:
^\d{3}: Drei Ziffern am Anfang-: Erster Bindestrich\d{2}: Zwei Ziffern-: Zweiter Bindestrich\d{4}$: Vier Ziffern am Ende
Dies gewährleistet eine strikte Formatübereinstimmung wie bei 123-45-6789.
Erweiterte Muster und Überlegungen
Neben dem Standardmuster gibt es weitere Szenarien:
Strikte Ausschlüsse ungültiger Werte: Ein restriktiveres Muster, das bekannte ungültige SSNs ausschließt:
^(?!(0006669))\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
Maskierte oder Platzhalter-SSNs: Für Dokumentationen oder Formulare mit Platzhaltern wie XXX-XX-XXXX:
^(\d{3}-\d{2}-\d{4}XXX-XX-XXXX)$
Flexibles Format: Für optionale Bindestriche und Groß-/Kleinschreibung:
^(\d{3}-?\d{2}-?\d{4}[Xx]{3}-?[Xx]{2}-?[Xx]{4})$
Was macht eine SSN gültig?
Neun Ziffern insgesamt, durch Bindestriche getrennt.
Drei Teile durch Bindestriche: Format ist immer AAA-GG-SSSS.
Einschränkungen für Gebietsnummern: 000, 666 oder Werte von 900 bis 999 sind ungültig.
Einschränkungen für Gruppennummern: 00 ist nicht gültig.
Einschränkungen für Seriennummern: 0000 ist nicht gültig.
Python-Beispielcode
import redef is_valid_ssn(ssn): pattern = re.compile(r'^\d{3}-\d{2}-\d{4}$') return bool(pattern.fullmatch(ssn))
Test Cases
print(is_valid_ssn("123-45-6789")) # True print(is_valid_ssn("123456789")) # False print(is_valid_ssn("12-345-6789")) # False
Testen Sie regex-Varianten mit dem Python Regex Tester.
Zeit- und Raumkomplexität
Zeitkomplexität: O(N), wobei N die Länge der SSN-Zeichenkette ist, da jedes Zeichen einmal geprüft wird.
Raumkomplexität: O(1), da keine zusätzlichen Daten proportional zur Eingabegröße gespeichert werden.
Anwendungsfälle
Benutzeridentitätsverifizierung: Korrekte SSN-Eingabe bei Registrierung oder Onboarding sicherstellen.
Datenbereinigung: Falsch formatierte SSNs in Datenbanken erkennen und korrigieren.
Sicherheit und Compliance: SSN-Format vor der Übertragung sensibler Daten verifizieren.
Kombinieren Sie dieses Tool mit:
Email Regex Python Validator für die Kontoverifizierung
IP Address Regex Python Validator für die Systemsicherheit
URL Regex Python Validator zur Absicherung von Formulareingaben
Verwendete regex-Metazeichen
^: Verankert den Anfang der Zeichenkette\d: Entspricht einer beliebigen Ziffer (0-9){n}: Entspricht genau n Ziffern-: Entspricht einem Bindestrich in SSNs$: Verankert das Ende der Zeichenkette
JavaScript-Beispiel zur SSN-Validierung
// Regular expression for strict SSN validation const ssnPattern = /^(?!6660009\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$/;function isValidSSN(ssn) { if (!ssn) return false; // Reject empty inputs return ssnPattern.test(ssn); }
// Example usage: console.log(isValidSSN("856-45-6789")); // true (valid) console.log(isValidSSN("000-45-6789")); // false (invalid area) console.log(isValidSSN("856-452-6789")); // false (incorrect format) console.log(isValidSSN("856-45-0000")); // false (invalid serial)
Was das regex-Muster bewirkt
Stellt sicher, dass die Gebietsnummer (erste drei Ziffern) nicht 666, 000 oder im Bereich 900-999 liegt.
Stellt sicher, dass die Gruppennummer (mittlere zwei Ziffern) nicht 00 ist.
Stellt sicher, dass die Seriennummer (letzte vier Ziffern) nicht 0000 ist.
Erzwingt korrekte Bindestrichpositionierung.
Java-Beispiel zur SSN-Validierung
import java.util.regex.Pattern; import java.util.regex.Matcher;public class SSNValidator { private static final String SSN_REGEX = "^(?!6660009\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$"; private static final Pattern pattern = Pattern.compile(SSN_REGEX);
public static boolean isValidSSN(String ssn) { if (ssn == null) return false; Matcher matcher = pattern.matcher(ssn); return matcher.matches(); } public static void main(String[] args) { System.out.println(isValidSSN("856-45-6789")); // true System.out.println(isValidSSN("000-45-6789")); // false System.out.println(isValidSSN("856-452-6789")); // false System.out.println(isValidSSN("856-45-0000")); // false }
}
C#-Beispiel zur SSN-Validierung
using System; using System.Text.RegularExpressions;public class SSNValidator { public static bool IsValidSSN(string ssn) { string pattern = @"^(?!6660009\d{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}$"; return Regex.IsMatch(ssn, pattern); }
public static void Main() { var testSSNs = new[] { "856-45-6789", // Valid "000-45-6789", // Invalid area "856-452-6789", // Invalid format "856-45-0000" // Invalid serial }; foreach (var ssn in testSSNs) { Console.WriteLine($"{ssn}: {IsValidSSN(ssn)}"); } }
}
Profi-Tipps
Verwenden Sie immer ^ und $ als Anker, um Teilübereinstimmungen zu vermeiden.
Bereinigen Sie Benutzereingaben (Leerzeichen entfernen) vor der Validierung.
Schließen Sie ungültige Kombinationen wie 000 oder 666 mit negativen Lookaheads aus.
Speichern Sie SSNs niemals im Klartext. Verschlüsseln Sie sie nach der Validierung.
Nutzen Sie den Python Regex Tester zum Experimentieren vor dem Deployment.
Kombinieren Sie dieses Tool mit dem Date Regex Python Validator bei strukturierten Dokumenten.
Frequently Asked Questions
Kann dieses regex sowohl SSNs mit als auch ohne Bindestriche validieren?
Erkennt dieses regex ungültige SSN-Kombinationen wie 000 oder 666?
Ist dieses Muster für staatliche oder Finanzsysteme geeignet?
Was passiert, wenn Benutzer führende oder nachgestellte Leerzeichen eingeben?
Kann ich dieses Muster in einer größeren Datenvalidierungs-Pipeline verwenden?
Related Articles



Testen Sie Ihre APIs noch heute!
Schreiben Sie auf Deutsch, Qodex wandelt Ihre Beschreibungen in sichere, sofort ausführbare Tests um.



