Saltar al contenido

¿Cómo probar un UUID/GUID válido?

Este artículo fue analizado por nuestros especialistas así se asegura la exactitud de nuestra esta crónica.

Solución:

Actualmente, los UUID son los especificados en RFC4122. Un caso extremo que a menudo se pasa por alto es el NIL UUID, que se indica aquí. La siguiente expresión regular tiene esto en cuenta y devolverá una coincidencia para un UUID NIL. Consulte a continuación un UUID que solo acepta UUID que no sean NIL. Ambas soluciones son para las versiones 1 a 5 (ver el primer carácter del tercer bloque).

Por lo tanto, para validar un UUID…

/^[0-9a-f]8-[0-9a-f]4-[0-5][0-9a-f]3-[089ab][0-9a-f]3-[0-9a-f]12$/i

… asegura que tiene un UUID con formato canónico que es de la versión 1 a la 5 y es la variante adecuada según RFC4122.

NOTA: Tirantes y no son canónicos. Son un artefacto de algunos sistemas y usos.

Fácil de modificar la expresión regular anterior para cumplir con los requisitos de la pregunta original.

SUGERENCIA: grupo/capturas de expresiones regulares

Para evitar hacer coincidir NIL UUID:

/^[0-9a-f]8-[0-9a-f]4-[1-5][0-9a-f]3-[89ab][0-9a-f]3-[0-9a-f]12$/i

expresiones regulares al rescate

/^[0-9a-fA-F]8-[0-9a-fA-F]4-[0-9a-fA-F]4-[0-9a-fA-F]4-[0-9a-fA-F]12$/.test('01234567-9ABC-DEF0-1234-56789ABCDEF0');

o con corchetes

/^?[0-9a-fA-F]8-[0-9a-fA-F]4-[0-9a-fA-F]4-[0-9a-fA-F]4-[0-9a-fA-F]12‌​?$/

Si desea verificar o validar una versión específica de UUID, aquí están las expresiones regulares correspondientes.

Tenga en cuenta que la única diferencia es el número de versiónque se explica en 4.1.3. Version capítulo de UUID 4122 RFC.

El número de versión es el primer carácter del tercer grupo: [VERSION_NUMBER][0-9A-F]3 :

  • UUID v1:

    /^[0-9A-F]8-[0-9A-F]4-[1][0-9A-F]3-[89AB][0-9A-F]3-[0-9A-F]12$/i
    
  • UUID v2:

    /^[0-9A-F]8-[0-9A-F]4-[2][0-9A-F]3-[89AB][0-9A-F]3-[0-9A-F]12$/i
    
  • UUID v3:

    /^[0-9A-F]8-[0-9A-F]4-[3][0-9A-F]3-[89AB][0-9A-F]3-[0-9A-F]12$/i
    
  • UUID v4:

    /^[0-9A-F]8-[0-9A-F]4-[4][0-9A-F]3-[89AB][0-9A-F]3-[0-9A-F]12$/i
    
  • UUID v5:

    /^[0-9A-F]8-[0-9A-F]4-[5][0-9A-F]3-[89AB][0-9A-F]3-[0-9A-F]12$/i
    

valoraciones y comentarios

Tienes la opción de amparar nuestro análisis escribiendo un comentario y puntuándolo te estamos agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *