NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Validateur UUID Regex Go

Validateur UUID Regex Go

Validez instantanément des UUID avec le Validateur UUID Regex Go de Qodex. Que vous assigniez des identifiants utilisateur ou référenciez des ressources, cet outil garantit que les UUID sont dans le bon format. Combinez-le avec notre Générateur de clés API, le Générateur de noms d'utilisateur ou le Générateur d'adresses pour créer des jeux de données fictives complets pour les tests et le développement.

Validateur UUID Regex Go - Documentation

Qu'est-ce que UUID Regex ?

En Go, la validation de chaînes devant suivre un format UUID (Universally Unique Identifier) est courante dans les systèmes backend, les API et les enregistrements de bases de données. Les UUID garantissent que chaque entrée possède un identifiant globalement unique, ce qui est particulièrement important lorsque les systèmes s'étendent ou opèrent sur plusieurs serveurs.

Les UUID sont généralement formatés ainsi :

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
  • x : Tout chiffre hexadécimal

  • M : Version UUID (1 à 5)

  • N : Variante (8, 9, a ou b)

Un regex pour valider les UUID permet de s'assurer que :

  • L'entrée a la bonne longueur

  • Les segments sont correctement formatés

  • La version et la variante UUID sont valides

Pattern regex pour UUID version 7

Si vous devez correspondre spécifiquement à l'UUID version 7 (introduit pour les identifiants ordonnés par le temps), vous pouvez utiliser ce pattern regex en Go (et dans la plupart des langages de programmation supportant la syntaxe regex standard) :

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$

Ce pattern vérifie :

  • 8 chiffres hex

  • 4 chiffres hex

  • Un chiffre de version (1 à 5)

  • Un chiffre de variante (8, 9, a, b)

  • 12 derniers chiffres hex

Nouveautés de UUID version 7

L'UUID version 7 apporte une approche axée sur l'ordre temporel pour de meilleures performances dans les systèmes distribués modernes. Contrairement aux versions antérieures, la version 7 utilise l'horodatage Unix Epoch en millisecondes depuis le 1er janvier 1970 UTC pour construire ses valeurs uniques. Cela implique :

  • Valeurs ordonnées dans le temps : Les identifiants sont naturellement triables par heure de création, ce qui peut accélérer considérablement les opérations de base de données et les journaux d'événements.

  • Meilleure entropie : La version 7 améliore l'aléatoire et l'unicité par rapport aux versions 1 et 6, réduisant le risque de collisions.

  • Évolutivité : La structure temporelle rend les UUID plus efficaces pour les applications multi-serveurs à haut débit.

Anatomie d'un UUID v7

Décomposons la structure d'une chaîne UUID version 7. Comme les autres UUID, elle est composée de 36 caractères au total, tirets compris :

xxxxxxxx-xxxx-7xxx-Nxxx-xxxxxxxxxxxx
  • Chaque x est un chiffre hexadécimal (0 à 9, a à f, ou A à F).

  • Le troisième groupe commence toujours par un 7, indiquant la version 7.

  • La position N dans le quatrième groupe représente la variante : typiquement 8, 9, a ou b.


Décomposition des segments

Une chaîne UUID v7 est composée de cinq groupes séparés par des tirets :

  1. 8 chiffres hex

  2. 4 chiffres hex

  3. 4 chiffres hex (commençant par « 7 »)

  4. 4 chiffres hex (premier chiffre du groupe : 8, 9, a ou b)

  5. 12 chiffres hex

Exemple de UUID v7 valide :

01813b48-4c5d-7b10-bc18-3ccd3f89331f

Comment valider des UUID en Go

Voici un exemple Go fonctionnel :

package main

import ( "fmt" "regexp" )

func isValidUUID(uuid string) bool { uuidRegex := regexp.MustCompile(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$) return uuidRegex.MatchString(uuid) }

func main() { test := "3f2504e0-4f89-11d3-9a0c-0305e82c3301" fmt.Println("Is UUID valid?", isValidUUID(test)) }

Valider UUID v7 avec regex dans différents langages

Pour valider spécifiquement les UUID version 7, voici un récapitulatif pour les principaux langages de programmation :

Go / JavaScript / Python / Java :

[^0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$

Ce regex garantit que la version est exactement 7 et correspond au format UUID correct.

Correspondre à des UUID sans tirets

Si vous devez faire correspondre des UUID sans tirets, souvent requis pour compresser des identifiants ou les formater pour certaines API, vous pouvez ajuster le pattern en retirant les tirets. Le nouveau pattern recherchera 32 chiffres hexadécimaux consécutifs :

^[0-9a-fA-F]{32}$

Support de UUID v7 dans différents langages de programmation

  • PHP : Le support natif pour UUID v7 émerge dans les nouvelles versions et bibliothèques open source populaires, mais les anciennes installations PHP peuvent nécessiter des paquets tiers.

  • JavaScript (ECMAScript) : L'API UUID officielle évolue, mais tous les environnements ne supportent pas v7 nativement. Vous aurez probablement besoin d'un polyfill moderne ou d'une bibliothèque comme uuid.

  • Python : Avec des bibliothèques largement adoptées comme uuid7 ou les dernières éditions de la bibliothèque standard, le support de v7 se généralise.

  • Golang : La version 7 est incluse dans certains paquets populaires, mais n'est pas encore universelle. Vérifiez toujours vos dépendances.

  • Java : Java 8 et supérieur bénéficient du support via des paquets tiers ; le support natif reste limité.

  • .NET : Les dernières versions ajoutent UUID v7 à la boîte à outils standard, mais les projets plus anciens peuvent nécessiter un paquet NuGet externe.

  • Rust : Les versions récentes de la crate UUID introduisent le support de v7.

Cas d'utilisation

  • Attribution d'identifiants dans des bases de données distribuées

  • Identification des utilisateurs ou sessions API

  • Garantir l'unicité dans les journaux système ou les tokens

  • Référencer des fichiers, messages ou enregistrements entre systèmes

Conseils pro pour la validation UUID

  • Les UUID peuvent être en majuscules ou minuscules, ce regex supporte les deux.

  • Les UUID version 4 sont les plus courants pour la génération aléatoire. Vous pouvez personnaliser le pattern pour ne correspondre qu'à v4 en remplaçant [1-5] par 4.

  • Validez toujours les UUID avant de les stocker en base de données pour éviter les données corrompues.

  • Évitez d'utiliser des UUID comme identifiants visibles par les utilisateurs sans les formater ou masquer correctement : ils peuvent être longs et difficiles à lire.

  • Utilisez regexp.MustCompile() plutôt que Compile() en Go pour les patterns statiques : c'est plus rapide et plus propre à l'exécution.

Combinez avec ces outils

Créez des flux de données fictives complets en combinant ce validateur avec :

Frequently Asked Questions

Quelle est la différence entre les versions UUID ?

Chaque version (1 à 5) est générée différemment. Par exemple, v1 utilise l'horodatage, v4 est aléatoire et v5 est basée sur le hachage.

La validation UUID est-elle sensible à la casse ?

Non. Les UUID sont hexadécimaux et les patterns regex doivent gérer aussi bien les majuscules que les minuscules.

Les UUID peuvent-ils être générés sans tirets ?

Oui, certains systèmes utilisent des UUID sans séparateurs, mais ce pattern vérifie le format standard avec tirets.

Pourquoi utiliser regex pour valider les UUID ?

Regex vérifie rapidement la structure, la version et la variante des UUID sans écrire de vérifications manuelles.

La validation UUID est-elle nécessaire ?

Absolument, surtout lorsque les données proviennent d'utilisateurs, d'API ou d'autres systèmes. Elle garantit la cohérence et la fiabilité.

Testez vos API dès aujourd'hui !

Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.