
Validateur regex SSN en Javascript
Validez facilement les numéros de sécurité sociale américains avec notre Testeur regex JavaScript. Cet outil s'assure que votre entrée respecte le format standard XXX-XX-XXXX. Que vous construisiez des flux d'embarquement sécurisés ou que vous nettoyiez des données de formulaires, combinez-le avec notre Encodeur Base64 pour protéger les informations sensibles, ou convertissez des fichiers en masse avec le Convertisseur CSV vers JSON. Rapide, précis et idéal pour les développeurs qui traitent des données d'identité.
Validateur regex SSN en Javascript - Documentation
Qu'est-ce qu'une regex SSN ?
Aux États-Unis, un numéro de sécurité sociale (SSN) est un numéro à 9 chiffres formaté comme XXX-XX-XXXX. La validation de ce format est cruciale dans les applications où la vérification d'identité ou la précision de la saisie de données est requise.
Une expression régulière (regex) permet de s'assurer que le format est correct avant toute opération sensible.
Motif regex SSN courant
/^\d{3}-\d{2}-\d{4}$/Ce que fait ce motif :
^\d{3}: Commence par exactement 3 chiffres-: Un tiret\d{2}: Suivi de 2 chiffres-: Un autre tiret\d{4}$: Se termine par 4 chiffres
SSN valide : 123-45-6789
SSN invalide : 12-3456-789 ou 123456789
Une regex SSN plus précise
Bien que le motif ci-dessus corresponde au format SSN standard, il ne détecte pas toutes les possibilités invalides. Certaines combinaisons comme les numéros de zone commençant par 000, 666 ou 9, ou les groupes 00 ou 0000 ne sont pas valides pour les vrais SSN.
Pour une vérification plus stricte :
^(?!(000|666|9))\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
Améliorations apportées :
Le numéro de zone (les trois premiers chiffres) ne peut pas être 000, 666 ou tout numéro commençant par 9.
Le numéro de groupe (les deux chiffres du milieu) ne peut pas être 00.
Le numéro de série (les quatre derniers chiffres) ne peut pas être 0000.
Cette couche supplémentaire aide à éliminer les SSN manifestement invalides, tout en correspondant au bon format.
Exemple de SSN valide : 123-45-6789
Exemples de SSN invalides : 000-12-3456, 666-12-3456, 900-12-3456, 123-00-4567, 123-45-0000
Correspondance des formats numériques et masqués
Pour accepter à la fois les SSN numériques standard et ceux utilisant le caractère "X" pour le masquage (comme XXX-XX-XXXX), étendez votre motif :
\d{3}-\d{2}-\d{4}: Correspond au format SSN numérique standard.[Xx]{3}-[Xx]{2}-[Xx]{4}: Correspond aux versions masquées (X majuscule ou minuscule).Le symbole pipe (|) permet de correspondre à l'une ou l'autre version, mais pas à un mélange.
Comment valider les SSN en JavaScript
Voici un exemple de code JavaScript complet :
function isValidSSN(ssn) { const ssnRegex = /^\d{3}-\d{2}-\d{4}$/; return ssnRegex.test(ssn); }
// Example usage: console.log(isValidSSN("123-45-6789")); // true console.log(isValidSSN("123456789")); // false
Comment valider les SSN en Python
Voici une fonction typique pour valider le format SSN en Python :
import re
def is_valid_ssn(ssn): pattern = r"^(?!6660009\d{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}$" return bool(re.match(pattern, ssn))
Exemples :
print(is_valid_ssn("856-45-6789")) # True – valid SSN
print(is_valid_ssn("000-45-6789")) # False – invalid, leading block not allowed
print(is_valid_ssn("856-452-6789")) # False – wrong format
print(is_valid_ssn("856-45-0000")) # False – trailing block not allowedComment valider les SSN en Java
import java.util.regex.Pattern;public class SSNValidator { // Pattern blocks obviously invalid ranges (000, 666, 900-999 in the first group; 00 in the middle; 0000 at the end) private static final Pattern SSN_REGEX = Pattern.compile( "^(?!6660009\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$" );
public static boolean isValidSSN(String ssn) { if (ssn == null) return false; return SSN_REGEX.matcher(ssn).matches(); } // Example usage 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 }
}
Où la regex SSN peut-elle être utilisée ?
Embarquement des utilisateurs : Assurez-vous que les utilisateurs saisissent des SSN valides dans les applications financières ou RH.
Intégrité de la base de données : Détectez les erreurs de format avant de sauvegarder dans votre base de données.
Validation de formulaires : Bloquez les soumissions qui ne suivent pas la structure SSN attendue.
Utilisez notre Testeur regex JavaScript pour expérimenter des variations ou créer des motifs personnalisés.
Considérations sur la performance
Pour la validation d'un SSN avec ce motif regex, le processus examine chaque caractère de la chaîne d'entrée une fois, rendant la complexité temporelle linéaire, O(N), où N est le nombre de caractères. Les besoins en mémoire sont minimaux. En résumé, vous obtenez une validation efficace tant en vitesse qu'en utilisation mémoire.
Note sur la précision
Un motif légèrement plus précis serait :
^(?!(000|666|9))\d{3}-(?!00)\d{2}-(?!0000)\d{4}$
Même ce motif robuste ne peut que filtrer les formats manifestement invalides. Il ne garantit pas que le numéro est officiellement attribué à une personne réelle. Pour les besoins de flexibilité :
/^(\d{3}-?\d{2}-?\d{4}|xxx-xx-xxxx)$/i
Cela autorise les placeholders "xxx-xx-xxxx" ou les variantes sans tirets pour certains scénarios de test ou de démonstration.
Conseils avancés
Utilisez .test() pour des vérifications rapides lors de la validation de formulaires en temps réel.
Évitez de stocker les SSN en texte brut. Utilisez l'Encodeur Base64 pour obscurcir les valeurs avant transmission.
Pour une sécurité accrue, combinez la validation regex avec des vérifications côté serveur et le chiffrement.
Testez régulièrement votre regex avec des données fictives en utilisant le Générateur de tokens.
Utilisez le Convertisseur CSV vers JSON si vous validez des SSN en masse depuis des fichiers importés.
Combiner avec ces outils
Testeur regex JavaScript pour tester n'importe quel motif regex en direct.
Encodeur Base64 pour encoder les chaînes sensibles avant de les envoyer sur le web.
Générateur de tokens pour générer des tokens sécurisés avec vos règles regex.
Convertisseur CSV vers JSON pour gérer les importations volumineuses de SSN pour la validation et le stockage.
Frequently Asked Questions
Cette regex garantit-elle que le SSN est réel ?
Puis-je l'utiliser pour des identifiants internationaux ?
Les SSN peuvent-ils avoir des espaces à la place des tirets ?
Cela fonctionnera-t-il pour la validation de formulaires en temps réel ?
Le stockage des SSN avec validation regex est-il sûr ?
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.



