
SSN Regex Go Validator
Müssen Sie U.S. Social Security Numbers bei der Formularvalidierung oder beim API-Testing prüfen? Der Qodex SSN Regex Go Validator hilft Ihnen, SSNs sofort gegen Standardformate abzugleichen. Kombinieren Sie ihn mit Tools wie dem Username Generator, dem Phone Number Generator oder dem Address Generator, um realistische Benutzerdaten für das Testen Ihrer Go-Anwendungen zu simulieren.
SSN Regex Go Validator, Dokumentation
Was ist SSN Regex?
In Go (oder Golang) werden reguläre Ausdrücke über das eingebaute regexp-Paket verarbeitet, das es Entwicklern ermöglicht, Text präzise zu treffen und zu validieren.
Eine Social Security Number (SSN) in den USA hat ein festes Format: AAA-GG-SSSS, wobei:
AAA die Gebietsnummer ist (3 Ziffern)
GG die Gruppennummer ist (2 Ziffern)
SSSS die Seriennummer ist (4 Ziffern)
Zur Validierung dieser Struktur bietet regex eine einfache und effiziente Lösung mit dem Muster:
^\d{3}-\d{2}-\d{4}$Dieses Muster stellt sicher:
Drei Ziffern
Gefolgt von einem Bindestrich
Dann zwei Ziffern
Ein weiterer Bindestrich
Und vier abschließende Ziffern
Maskierte SSNs akzeptieren
Manchmal begegnen Sie auch dem Format XXX-XX-XXXX, das häufig verwendet wird, um echte SSNs aus Datenschutz- oder Testgründen zu maskieren. Um beide Formen zu unterstützen, können Sie verwenden:
^(\d{3}-\d{2}-\d{4}XXX-XX-XXXX)$
Dies entspricht entweder einer gültigen numerischen SSN oder der vollständig maskierten Variante.
Genauere SSN-Validierung
Während das Obige die grundlegende Struktur abdeckt, haben echte SSNs zusätzliche Regeln. Bestimmte Werte sind ungültig, wie Gebietsnummern 000, 666 oder alles, was mit 9 beginnt, eine Gruppennummer 00 oder eine Seriennummer 0000. Für strengere Validierung verwenden Sie:
^(?!(0006669))\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
Dieses Muster verhindert diese ungültigen Blöcke und entspricht dennoch dem SSN-Format.
Flexible Eingabe unterstützen
Wenn Sie optionale Bindestriche zulassen oder sowohl Groß- als auch Kleinbuchstaben "x" in maskierten SSNs unterstützen möchten, können Sie verwenden:
^(\d{3}-?\d{2}-?\d{4}[Xx]{3}-?[Xx]{2}-?[Xx]{4})$
Oder fügen Sie, zur Vereinfachung, das Flag für Groß-/Kleinschreibungsunempfindlichkeit hinzu, wenn Ihre Sprache dies unterstützt.
Zusammenfassung
Verwenden Sie das Standardmuster für streng numerische SSNs.
Verwenden Sie die erweiterte Form, um maskierte Formate zuzulassen.
Für stärkere Validierung verwenden Sie das Muster mit Lookaheads.
Passen Sie für Maskierung und Flexibilität entsprechend Ihrer Anwendung an.
Reguläre Ausdrücke bieten eine praktische Möglichkeit zur SSN-Validierung, aber denken Sie daran, dass Geschäftsregeln variieren können und je nach Anwendungsfall zusätzliche Überprüfungen erforderlich sein können.
Beispieleingaben
Um zu veranschaulichen, was dieses regex erfasst und was nicht, finden Sie hier einige Beispiel-SSN-ähnliche Eingaben und deren Übereinstimmungsergebnisse:
✔️ Gültiges SSN-Format
✔️ Gültig, aber mit Leerzeichen anstelle von Bindestrichen
✔️ Gültiges SSN-Format
❌ Ungültig, enthält Buchstaben
✔️ Gültig, kann aber in eingeschränkte SSN-Bereiche fallen
✔️ Gültiges Muster, aber keine echte SSN
❌ Ungültig, Gebietsnummer darf nicht 000 sein
Diese Vielfalt stellt sicher, dass Ihre Tests zwischen korrekt formatierten SSNs, häufigen Eingabefehlern und offensichtlich ungültigen Einträgen unterscheiden können. Verwenden Sie diese Beispiele, um Ihre Validierung zu verfeinern oder realistische Testdaten während der Entwicklung zu erzeugen.
Regex-Flags verstehen
Bei der Arbeit mit regulären Ausdrücken in Go oder JavaScript begegnen Sie häufig Flags, die das Verhalten Ihrer Muster ändern. Hier eine schnelle Referenz zu den gebräuchlichsten:
g (global): Sucht nach allen Übereinstimmungen im Text, nicht nur der ersten.
i (Groß-/Kleinschreibung ignorieren): Macht den Abgleich unabhängig von der Groß-/Kleinschreibung.
m (mehrzeilig): Ändert das Verhalten von
^und$, sodass sie am Anfang und Ende jeder Zeile statt der gesamten Zeichenkette gelten.s (dotAll): Erlaubt dem Punkt (
.), Zeilenumbrüche zu treffen.u (Unicode): Aktiviert vollständiges Unicode-Matching.
y (sticky): Trifft nur am letzten Index, an dem die vorherige Übereinstimmung endete.
Jedes Flag passt Ihr regex an spezifische Validierungs- oder Suchbedürfnisse an.
Wie ungültige SSNs blockiert werden
Nicht alle Kombinationen sind für U.S. Social Security Numbers gültig, und das regex-Muster ist in der Lage, häufige ungültige Formate zu erkennen:
Keine nullgefüllten Gruppen: Das regex akzeptiert keine SSN, bei der eine vollständige Gruppe aus Nullen besteht, wie 000, 00 oder 0000.
Kein 666-Beginn: Jede SSN, die mit 666 beginnt, wird immer abgelehnt.
Kein Bereich 900-999: Das Muster schließt auch SSNs aus, die mit 900 bis 999 beginnen, da diese reserviert sind.
Muster für echte und maskierte SSNs
Wenn Sie sowohl echte SSNs als auch maskierte Platzhalter (mit Xs) akzeptieren müssen, können Sie Ihr regex erweitern:
Standard-SSNs treffen:
^\d{3}-\d{2}-\d{4}$Maskierte SSNs treffen:
^X{3}-X{2}-X{4}$
Um beide Formate zuzulassen, kombinieren Sie sie mit dem ODER-Operator in Ihrem regex.
Über die Grundlagen hinaus: Genauere SSN-Validierung
Für robustere Validierung berücksichtigen Sie ein strengeres regex:
^(?!(0006669))\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
Dieses Muster fügt reale Einschränkungen hinzu:
Keine Gebietsnummern 000, 666 oder solche, die mit 9 beginnen.
Keine Gruppennummern 00.
Keine Seriennummern 0000.
Beispielcode in Go
package mainimport ( "fmt" "regexp" )
func isValidSSN(ssn string) bool { // Regex for U.S. SSN: 3 digits - 2 digits - 4 digits var ssnRegex = regexp.MustCompile(
^\d{3}-\d{2}-\d{4}$) return ssnRegex.MatchString(ssn) }
func main() { testSSN := "123-45-6789" fmt.Printf("Is '%s' a valid SSN? %t\n", testSSN, isValidSSN(testSSN)) }
Das regex Groß-/Kleinschreibungsunempfindlich machen
Um sowohl Groß- als auch Kleinbuchstaben "X" in maskierten SSNs zu treffen, haben Sie zwei Optionen:
Beide Fälle in Ihr Muster mit
[Xx]aufnehmen, wo immer die Maske erscheint.Das Groß-/Kleinschreibungsunempfindlichkeitsflag (
i) verwenden, wenn Ihr Go-regex-Kontext dies unterstützt.
Für das regexp-Paket in Go müssen Sie [Xx] im regex angeben, da Go kein inline-Flag für Groß-/Kleinschreibungsunempfindlichkeit unterstützt.
Profi-Tipps für die Verwendung von SSN Regex in Go
Anker für vollständige Übereinstimmung verwenden: Umschließen Sie Ihr regex immer mit ^ und $, um sicherzustellen, dass die gesamte Zeichenkette validiert wird.
Echte Daten in Tests vermeiden: Verwenden Sie niemals echte SSNs in Testumgebungen. Simulieren Sie sie stattdessen mit Tools wie dem Username Generator, dem Phone Number Generator oder dem Address Generator.
Vorkompilieren für Leistung: Verwenden Sie regexp.MustCompile() außerhalb von Schleifen oder Funktionen, um Ihr regex vorzukompilieren und die Leistung zu verbessern.
Format validieren, nicht Identität: Regex überprüft nur die Struktur. Zur Validierung echter SSNs integrieren Sie eine Verifizierungs-API oder offizielle Datenbank.
Logging zum Debuggen verwenden: Fügen Sie beim Testen Ihrer Go-regex-Logik Logs hinzu, um Übereinstimmungen und Abweichungen zu verfolgen.
Häufige Anwendungsfälle
Formularvalidierung: Sicherstellen, dass Benutzer SSNs im richtigen Format eingeben.
Onboarding-Systeme: Identifikation während der Benutzerregistrierung prüfen.
Datenbereinigung: SSN-Felder in Ihrer Datenbank bereinigen und standardisieren.
Compliance-Systeme: Formatvalidierung für datenschutzsensible Workflows erzwingen.
Mit diesen Tools kombinieren
Phone Number Generator U.S.-Nummern zur Kombination mit SSNs erzeugen.
Address Generator Gefälschte, aber realistische U.S.-Adressen für Mock-Benutzerdaten erstellen.
Email Generator Vollständige Benutzerprofile für Formular-Tests erstellen.
UUID Generator Eindeutige Identifikatoren jedem Mock-Benutzer zuweisen.
MAC Address Generator Nützlich für die Simulation gerätebasierter Identität.
Regex Tester für Go Beliebige Muster direkt in Ihren Go-Anwendungen validieren.
Regex für andere Sprachen
SSNs in anderen Sprachen testen?
JavaScript: Im JavaScript Regex Tester verwenden
Python: Im Python Regex Tester ausprobieren
Java: Im Java Regex Tester validieren
Frequently Asked Questions
Kann dieses regex prüfen, ob eine SSN echt ist?
Warum regex für SSN-Validierung in Go verwenden?
Was passiert, wenn jemand eine SSN ohne Bindestriche eingibt?
Ist es sicher, SSNs nach der Validierung zu speichern?
Kann dies in Produktionssystemen verwendet werden?
Related Articles



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



