
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-xxxxxxxxxxxxx: 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-xxxxxxxxxxxxCada
xes 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
Nen 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:
8 dígitos hexadecimales
4 dígitos hexadecimales
4 dígitos hexadecimales (comenzando con "7")
4 dígitos hexadecimales (el primer dígito de este grupo es 8, 9, a o b)
12 dígitos hexadecimales
Por ejemplo, un UUID v7 válido podría verse así:
01813b48-4c5d-7b10-bc18-3ccd3f89331fCon 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 mainimport ( "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
uuid7o 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:
Generador de Clave de API: Asigne credenciales de acceso seguras junto con UUID.
Generador de Número de Teléfono: Construya perfiles de usuario realistas.
Generador de Correo Electrónico: Agregue IDs de correo electrónico a datos de usuario simulados.
Generador de Nombre de Usuario: Complete perfiles falsos con nombres de usuario aleatorios.
Generador de Dirección: Empareje UUID con datos de dirección de usuario para pruebas.
Frequently Asked Questions
¿Cuál es la diferencia entre las versiones de UUID?
¿La validación de UUID distingue entre mayúsculas y minúsculas?
¿Se pueden generar UUID sin guiones?
¿Por qué se usa regex para validar UUID?
¿Es necesaria la validación de UUID?
Related Articles



¡Pruebe sus APIs hoy!
Escriba en español sencillo y Qodex lo convierte en pruebas seguras y listas para ejecutar.



