
Validateur regex SSN en Go
Besoin de vérifier des numéros de sécurité sociale américains (SSN) lors de la validation de formulaires ou de tests API ? Le Validateur regex SSN en Go de Qodex vous permet de contrôler instantanément les SSN par rapport aux formats standard. Associez-le à des outils comme le Générateur de noms d'utilisateur, le Générateur de numéros de téléphone ou le Générateur d'adresses pour simuler des données utilisateur réalistes lors de vos tests d'applications Go.
Validateur regex SSN en Go - Documentation
Qu'est-ce qu'une regex SSN ?
En Go (ou Golang), les expressions régulières sont gérées via le package regexp intégré, permettant aux développeurs de faire correspondre et de valider du texte avec précision.
Un numéro de sécurité sociale (SSN) américain a un format fixe : AAA-GG-SSSS, où :
AAA est le numéro de zone (3 chiffres)
GG est le numéro de groupe (2 chiffres)
SSSS est le numéro de série (4 chiffres)
Pour valider cette structure, la regex offre une solution simple et efficace avec le motif :
^\d{3}-\d{2}-\d{4}$Ce motif garantit :
Trois chiffres
Suivis d'un tiret
Puis deux chiffres
Un autre tiret
Et quatre chiffres finaux
Accepter les SSN masqués
Il arrive de rencontrer le format avec des "X", souvent utilisé pour masquer de vrais SSN à des fins de confidentialité ou de test. Pour prendre en charge les deux formes (standard et masquée), vous pouvez utiliser :
^(\d{3}-\d{2}-\d{4}|XXX-XX-XXXX)$
Ce motif correspond soit à un SSN numérique valide, soit à la variante entièrement masquée.
Validation SSN plus précise
Bien que ce qui précède couvre la structure de base, les SSN réels ont des règles supplémentaires. Certaines valeurs sont invalides, comme les numéros de zone 000, 666, ou tout numéro commençant par 9, le numéro de groupe 00, ou le numéro de série 0000. Pour une validation plus stricte :
^(?!(000|666|9))\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
Ce motif exclut ces blocs invalides tout en correspondant au format SSN.
Prise en charge des entrées flexibles
Si vous souhaitez autoriser les tirets optionnels ou prendre en charge les "x" en majuscule et en minuscule dans les SSN masqués, vous pouvez utiliser :
^(\d{3}-?\d{2}-?\d{4}|[Xx]{3}-?[Xx]{2}-?[Xx]{4})$
Ou simplifiez en ajoutant le drapeau insensible à la casse si votre langage le supporte.
Résumé
Utilisez
^\d{3}-\d{2}-\d{4}$pour les SSN numériques stricts.Utilisez
^(\d{3}-\d{2}-\d{4}|[Xx]{3}-[Xx]{2}-[Xx]{4})$pour autoriser les formes masquées.Pour une validation plus rigoureuse, utilisez le motif avec les assertions négatives.
Adaptez selon les besoins de masquage et de flexibilité de votre application.
Exemples d'entrées
Voici quelques exemples d'entrées de type SSN et leurs résultats de correspondance :
✔️ Format SSN valide
✔️ Valide, mais avec des espaces à la place des tirets
✔️ Format SSN valide
❌ Invalide, contient des lettres
✔️ Valide, mais peut tomber dans des plages SSN restreintes
✔️ Motif valide, mais pas un vrai SSN
❌ Invalide, le numéro de zone ne peut pas être 000
Comprendre les drapeaux regex
Voici un référentiel rapide des drapeaux les plus courants :
g (global) : Recherche toutes les correspondances dans le texte, pas seulement la première.
i (insensible à la casse) : Traite les lettres majuscules et minuscules comme équivalentes.
m (multiligne) : Modifie le comportement de
^et$pour qu'ils correspondent au début et à la fin de chaque ligne.s (dotAll) : Permet au point (
.) de correspondre aux caractères de nouvelle ligne.u (unicode) : Active la correspondance Unicode complète.
y (sticky) : Ne correspond qu'à partir du dernier index de correspondance.
Comment les SSN invalides sont bloqués
Pas de groupes entièrement nuls : La regex n'accepte pas les SSN où un groupe entier est à zéro.
Pas de début 666 : Tout SSN commençant par 666 est toujours rejeté.
Pas de plages 900 à 999 : Les SSN commençant par 9 sont réservés et non valides.
Fonctionnalités et avantages clés
Spécifique au format : Applique strictement le format SSN américain.
Validation instantanée : Fonctionne immédiatement en Go avec regexp.MustCompile.
Test sécurisé : Évitez d'utiliser de vraies données, testez vos systèmes avec des valeurs fictives.
Regex réutilisable : Intégrez facilement ce motif dans votre code Go.
Compatible avec plusieurs outils : Fonctionne parfaitement avec le Générateur UUID, le Générateur d'adresse MAC et le Validateur regex de numéro de téléphone en Go.
Exemple de code en 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)) }
Conseils avancés pour l'utilisation de la regex SSN en Go
Utilisez des ancres pour une correspondance complète : Encadrez toujours votre regex avec ^ et $ pour vous assurer que la chaîne entière est validée.
Évitez les vraies données dans les tests : N'utilisez jamais de vrais SSN dans les environnements de test. Simulez-les avec des outils comme le Générateur de noms d'utilisateur ou le Générateur d'adresses.
Précompilez pour la performance : Utilisez regexp.MustCompile() en dehors des boucles pour précompiler votre regex et améliorer les performances.
Validez le format, pas l'identité : La regex vérifie uniquement la structure. Pour valider de vrais SSN, intégrez une API de vérification.
Utilisez les journaux pour le débogage : Lors du test de votre logique regex Go, ajoutez des journaux pour suivre les correspondances et les non-correspondances.
Cas d'usage courants
Validation de formulaires : Assurez-vous que les utilisateurs saisissent les SSN dans le bon format.
Systèmes d'embarquement : Vérifiez l'identification lors de l'inscription des utilisateurs.
Nettoyage des données : Normalisez les champs SSN dans votre base de données.
Systèmes de conformité : Appliquez la validation de format pour les workflows sensibles à la confidentialité.
Combiner avec ces outils
Générateur de numéros de téléphone pour générer des numéros américains à associer aux SSN.
Générateur d'adresses pour créer de fausses adresses américaines réalistes.
Générateur d'e-mails pour construire des profils utilisateurs complets.
Générateur UUID pour attribuer des identifiants uniques à chaque utilisateur fictif.
Générateur d'adresse MAC pour simuler l'identité basée sur les appareils.
Testeur regex pour Go pour valider n'importe quel motif directement dans vos applications Go.
Regex pour d'autres langages
JavaScript : Utilisez dans le Testeur regex JavaScript
Python : Essayez dans le Testeur regex Python
Java : Validez dans le Testeur regex Java
Frequently Asked Questions
Cette regex peut-elle vérifier si un SSN est réel ?
Pourquoi utiliser la regex pour la validation SSN en Go ?
Que se passe-t-il si quelqu'un saisit un SSN sans tirets ?
Est-il sûr de stocker des SSN après les avoir validés ?
Peut-on l'utiliser dans des systèmes de production ?
Related Articles



Testez vos API dès aujourd'hui !
Rédigez en français courant, Qodex génère des tests sécurisés et prêts à l'exécution.



