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

Validador UUID Regex Go

Valide UUID al instante con el Validador UUID Regex Go de Qodex. Ya sea que esté asignando IDs de usuario o referenciando recursos, esta herramienta garantiza que los UUID estén en el formato correcto. Puede combinarlo con nuestro Generador de Clave de API, el Generador de Nombre de Usuario o el Generador de Dirección para crear conjuntos de datos simulados completos para pruebas y desarrollo.

Validador UUID Regex Go - Documentación

¿Qué es UUID Regex?

En Go, validar cadenas que deben seguir el formato de un UUID (Identificador Único Universal) es común en sistemas backend, APIs y registros de bases de datos. Los UUID garantizan que cada entrada tenga un ID globalmente único, lo que es especialmente importante cuando los sistemas escalan o operan en múltiples servidores.

Los UUID suelen tener este formato:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
  • x: cualquier dígito hexadecimal

  • M: versión del UUID (1 a 5)

  • N: variante (8, 9, a o b)

Un regex para validar UUID ayuda a garantizar que:

  • La entrada tenga la longitud correcta

  • Los segmentos estén formateados correctamente

  • La versión y la variante del UUID sean válidas

Patrón Regex para UUID Versión 7

Si necesita hacer coincidir específicamente el UUID de la versión 7 (introducido para identificadores ordenados por tiempo), puede usar este patrón regex en Go (y en la mayoría de los lenguajes de programación que admiten sintaxis regex estándar):

^[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}$

Este patrón verifica:

  • 8 dígitos hexadecimales

  • 4 dígitos hexadecimales

  • Un dígito de versión (1 a 5)

  • Un dígito de variante (8, 9, a, b)

  • 12 dígitos hexadecimales finales

Esta es la diferencia:

  • El tercer segmento del UUID debe comenzar con el número que especifica la versión 7.

  • El resto de los segmentos mantienen las reglas hexadecimales y de variante.

Esto garantiza que solo se consideren válidos los UUID de la versión 7 por su validador. Use este patrón si su aplicación está aprovechando las últimas especificaciones de UUID para IDs basados en tiempo o amigables para ordenación.

¿Qué Hay de Nuevo en UUID Versión 7?

UUID versión 7 trae un enfoque fresco centrado en el ordenamiento por tiempo para mejorar el rendimiento en sistemas distribuidos modernos. A diferencia de versiones anteriores, la versión 7 usa la marca de tiempo Unix Epoch medida en milisegundos desde el 1 de enero de 1970 (UTC), sin contar segundos intercalares, para construir sus valores únicos. Esto significa:

  • Valores Ordenados por Tiempo: Los IDs son naturalmente ordenables por tiempo de creación, lo que puede acelerar significativamente las operaciones de base de datos y los registros de eventos.

  • Mayor Entropía: La versión 7 mejora la aleatoriedad y unicidad sobre las versiones 1 y 6, reduciendo el riesgo de colisiones.

  • Escalabilidad: La estructura basada en tiempo hace que los UUID sean más eficientes para aplicaciones de alto rendimiento en múltiples servidores.

Al combinar marcas de tiempo precisas con aleatoriedad adicional, UUIDv7 proporciona una solución elegante para la generación de IDs confiable y escalable en APIs y bases de datos.

Anatomía de un UUID v7

Analicemos la estructura de una cadena UUID versión 7. Al igual que otros UUID, consta de 36 caracteres en total, incluidos guiones como separadores. Este es el aspecto del formato:

xxxxxxxx-xxxx-7xxx-Nxxx-xxxxxxxxxxxx
  • Cada x es un dígito hexadecimal (0 a 9, a a f, o A a F).

  • El tercer grupo siempre comienza con 7, lo que denota la versión 7.

  • La posición N en el cuarto grupo representa la variante, que para los UUID estándar suele ser 8, 9, a o b.


Desglose por Segmento

Una cadena UUID v7 consta de cinco grupos separados por guiones:

  1. 8 dígitos hexadecimales

  2. 4 dígitos hexadecimales

  3. 4 dígitos hexadecimales (comenzando con "7")

  4. 4 dígitos hexadecimales (el primer dígito de este grupo es 8, 9, a o b)

  5. 12 dígitos hexadecimales

Por ejemplo, un UUID v7 válido podría verse así:

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

Con esta estructura, los programas Go (y muchas otras plataformas) pueden distinguir de forma segura los valores UUID v7 y, a su vez, capturar información sobre cuándo se generó el ID (ya que UUID v7 está ordenado por tiempo).


Otros ejemplos que podría encontrar:

  • 123e4567-e89b-12d3-a456-426655440000

  • c73bcdcc-2669-4bf6-81d3-e4ae73fb11fd

  • C73BCDCC-2669-4Bf6-81d3-E4AE73FB11FD

  • c73bcdcc-2669-4bf6-81d3-e4an73fb11fd

  • c73bcdcc26694bf681d3e4ae73fb11fd

  • definitely-not-a-uuid

Cada una de estas cadenas encaja o rompe intencionalmente el formato UUID, ofreciendo un conjunto práctico de casos de prueba.

Cómo Validar UUID en Go

Este es un ejemplo funcional en Go:

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)) }

Validación de UUID v7 con Regex en Diferentes Lenguajes

Si necesita validar específicamente la versión 7 de UUID, que gana popularidad para identificadores ordenados por tiempo, deberá ajustar su regex. Los UUID v7 comienzan con "7" en la posición de versión, por lo que su patrón debe reflejarlo.

Desglose por lenguajes de programación principales:

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}$
  • 8 dígitos hexadecimales

  • 4 dígitos hexadecimales

  • "7" para la versión 7

  • variante válida

  • 12 dígitos hexadecimales

Este regex garantiza que la versión sea exactamente 7 y coincida con el formato UUID correcto para usar en el paquete regexp de Go, el módulo re de Python, RegExp de JavaScript o java.util.regex de Java.

Ejemplo (Go):

Puede usar este patrón directamente en su aplicación para garantizar que solo pasen la validación los UUID v7.

Coincidencia de UUID Sin Guiones

Si necesita hacer coincidir UUID que no incluyen guiones, frecuentemente necesario al comprimir IDs o formatearlos para ciertas APIs, puede ajustar el patrón eliminando los guiones del regex. El nuevo patrón buscará 32 dígitos hexadecimales consecutivos.

Así quedaría:

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

Esta versión verifica una cadena de exactamente 32 caracteres hexadecimales, adecuada para UUID en formato sin guiones. Ajuste el regex en su validador de Go si su caso de uso requiere admitir ambos estilos.

Soporte de UUID v7 en Diferentes Lenguajes de Programación

Un repaso rápido del panorama actual:

  • PHP: El soporte nativo para UUID v7 está surgiendo en versiones más recientes y bibliotecas de código abierto populares, pero las instalaciones más antiguas pueden requerir paquetes de terceros.

  • JavaScript (ECMAScript): La API oficial de UUID evoluciona constantemente, pero no todos los entornos (especialmente los navegadores más antiguos) admiten v7 de forma nativa. Probablemente necesite un polyfill moderno o una biblioteca como uuid.

  • Python: Con bibliotecas ampliamente adoptadas como uuid7 o las ediciones más recientes de la biblioteca estándar, el soporte de v7 es cada vez más común. Solo verifique la versión de su biblioteca.

  • Golang: Con el enfoque de la comunidad Go en soporte sólido de bibliotecas, v7 está incluida en algunos paquetes populares, pero aún no es universal. Siempre verifique sus dependencias.

  • Java: Java 8 y superior ven soporte a través de paquetes de terceros; sin embargo, el soporte incorporado sigue siendo limitado. Para uso en producción, una biblioteca bien mantenida es su aliada.

  • .NET: Las últimas versiones añaden UUID v7 al toolkit estándar, pero los proyectos más antiguos pueden necesitar un paquete NuGet externo.

  • Rust: Las versiones más recientes del crate uuid introducen soporte para v7. Si está actualizado, probablemente ya tiene cobertura.

En general: si trabaja en un entorno moderno con bibliotecas actualizadas, es más probable que tenga soporte robusto para UUID v7. En caso de duda, consulte la documentación de su biblioteca antes de generar esos identificadores de última generación.

¿Cómo se genera el campo de valor ordenado por tiempo en UUID v7?

En UUID versión 7, el valor ordenado por tiempo se genera basándose en la marca de tiempo Unix Epoch, específicamente usa el número de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 (UTC), excluyendo los segundos intercalares. Este enfoque garantiza que cada UUID generado no solo sea único sino también ordenable cronológicamente. Como resultado, UUID v7 es particularmente adecuado para sistemas distribuidos donde los eventos necesitan ordenamiento o seguimiento temporal, combinando unicidad global con información temporal integrada.

Casos de Uso

  • Asignar IDs en bases de datos distribuidas

  • Identificar usuarios de API o sesiones

  • Garantizar unicidad en registros del sistema o tokens

  • Referenciar archivos, mensajes o registros entre sistemas

Consejos Profesionales para la Validación de UUID

  • Los UUID pueden ser en mayúsculas o minúsculas; este regex admite ambos.

  • Los UUID de la versión 4 son los más comunes para generación aleatoria. Puede personalizar el patrón para que solo coincida con v4 reemplazando [1-5] por 4.

  • Valide siempre los UUID antes de almacenarlos en la base de datos para prevenir datos basura.

  • Evite usar UUID para identificadores visibles para el usuario a menos que los formatee o enmascare correctamente: pueden ser largos y difíciles de leer.

  • Use regexp.MustCompile() de Go en lugar de Compile() para patrones estáticos: es más rápido y limpio en tiempo de ejecución.

Combine con Estas Herramientas

Cree flujos de datos simulados completos combinando este validador con:

Frequently Asked Questions

¿Cuál es la diferencia entre las versiones de UUID?

Cada versión (1 a 5) se genera de forma diferente. Por ejemplo, v1 usa tiempo, v4 es aleatoria y v5 se basa en hash.

¿La validación de UUID distingue entre mayúsculas y minúsculas?

No. Los UUID son hexadecimales y los patrones regex deben manejar tanto mayúsculas como minúsculas.

¿Se pueden generar UUID sin guiones?

Sí, algunos sistemas usan UUID sin separadores, pero este patrón verifica el formato estándar con guiones.

¿Por qué se usa regex para validar UUID?

Regex verifica rápidamente la estructura, versión y variante de los UUID sin necesidad de escribir verificaciones manuales.

¿Es necesaria la validación de UUID?

Absolutamente, especialmente cuando los datos provienen de usuarios, APIs u otros sistemas. Garantiza consistencia y confiabilidad.

¡Pruebe sus APIs hoy!

Escriba en español sencillo y Qodex lo convierte en pruebas seguras y listas para ejecutar.