检查 swift 中的 UUID 版本

Check for UUID version in swift

有没有办法检查 UUID 版本? 我知道 UUID().uuidString 是版本 4。 我有一个来自服务器的变量,它在 UUID 版本 1 中。

现在我想检查 UUID 的版本并决定我的操作。

版本 4 UUID 的格式为 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,其中 x 是任何十六进制数字,y 是 8、9、A 或 B 之一,如下所述: 如何确定字符串是否为有效的 v4 UUID?

如果您只使用版本 4 和版本 1,那么您可以执行以下操作:

func checkUUIDVersion(uuid: String) -> Int {
    let regx = "^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}"
    if uuid.uppercased().range(of: regx, options: .regularExpression, range: nil, locale: nil) != nil {
        return 4;
    }
    return 1;
}