快速检查UUID版本

时间:2018-12-19 09:33:02

标签: swift uuid

是否可以检查UUID版本? 我知道UUID().uuidString是版本4。 我有一个来自服务器的变量,它是UUID版本1。

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

1 个答案:

答案 0 :(得分:3)

第4版UUID的格式为xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,其中x是任何十六进制数字,y是8、9,A或B之一,如下所述:  How to determine if a string is a valid 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;
}