Phương thức sẽ trả về TRUE nếu NSString giống như @ "{A5B8A206-E14D-429B-BEB0-2DD0575F3BC0} "và FALSE cho một NSString như @" bla bla bla"Cách kiểm tra tính hợp lệ của GUID (hoặc UUID) bằng NSRegularExpression hoặc bất kỳ cách hiệu quả nào khác trong Mục tiêu-C
tôi đang sử dụng một cái gì đó như:
- (BOOL)isValidGUID {
NSError *error;
NSRange range = [[NSRegularExpression regularExpressionWithPattern:@"(?:(\\()|(\\{))?\\b[A-F0-9]{8}(?:-[A-F0-9]{4}){3}-[A-Z0-9]{12}\\b(?(1)\\))(?(2)\\})" options:NSRegularExpressionCaseInsensitive error:&error] rangeOfFirstMatchInString:self.GUID options:0 range:NSMakeRange(0, [self.GUID length])];
if (self.GUID && range.location != NSNotFound && [self.GUID length] == 38) {
return TRUE;
} else {
return NO;
}
}
nhưng nó không làm việc như tôi đã mong đợi.
Chú ý: GUID mà tôi đang sử dụng được bao bọc bởi dấu ngoặc nhọn như thế này: {A5B8A206-E14D-429B-BEB0-2DD0575F3BC0}
Nhờ nó hoạt động ... – Goppinath