424 Stimmen

Wie prüfe ich eine gültige UUID/GUID?

Wie kann man prüfen, ob eine Variable einen gültigen UUID/GUID-Bezeichner enthält?

Ich bin derzeit nur an der Validierung der Typen 1 und 4 interessiert, aber das sollte keine Einschränkung für Ihre Antworten sein.

1voto

s3c Punkte 1060

Ich habe diese Funktion, aber sie ist im Wesentlichen dasselbe wie die akzeptierte Antwort.

export default function isUuid(uuid: string, isNullable: boolean = false): boolean {
    return isNullable
        ? /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(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.test(uuid);
}

-1voto

Daniel Heid Punkte 179

Ich habe einen UUID-Validator zum Apache Commons Validator hinzugefügt. Er wurde noch nicht zusammengeführt, aber Sie können hier für ihn stimmen:

https://github.com/apache/commons-validator/pull/68

-3voto

Ich denke, ein besserer Weg ist die Verwendung der statischen Methode fromString, um diese regulären Ausdrücke zu vermeiden.

    id = UUID.randomUUID();
    UUID uuid = UUID.fromString(id.toString());
    Assert.assertEquals(id.toString(), uuid.toString());

Andererseits

   UUID uuidFalse = UUID.fromString("x");

throws java.lang.IllegalArgumentException: Ungültige UUID-Zeichenkette: x

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X