NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Validateur regex SSN en Javascript

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 allowed

Comment 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

Frequently Asked Questions

Cette regex garantit-elle que le SSN est réel ?

Non. Elle vérifie uniquement le format, pas si le numéro est officiellement émis.

Puis-je l'utiliser pour des identifiants internationaux ?

Ce motif est spécifique aux SSN américains. Utilisez des motifs différents pour d'autres pays.

Les SSN peuvent-ils avoir des espaces à la place des tirets ?

Non. Un SSN valide doit inclure des tirets aux positions correctes.

Cela fonctionnera-t-il pour la validation de formulaires en temps réel ?

Oui. C'est léger et parfait pour les vérifications côté client.

Le stockage des SSN avec validation regex est-il sûr ?

La validation n'est que la première étape. Sécurisez toujours les SSN avec le chiffrement et des contrôles d'accès appropriés.

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.