Bạn có thể sử dụng thư viện biểu thức chính quy (như RegexKit, v.v.) hoặc bạn có thể sử dụng cụm từ thông dụng thông qua NSPredicate
(hơi mơ hồ hơn một chút, nhưng không yêu cầu thứ ba thư viện bên). Điều đó sẽ trông giống như sau:
NSString *phoneNumber = ...;
NSString *phoneRegex = @"[235689][0-9]{6}([0-9]{3})?";
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
BOOL matches = [test evaluateWithObject:phoneNumber];
Nếu bạn đang sử dụng iPhone thì iOS 4 giới thiệu NSRegularExpression
, cũng sẽ hoạt động. Cách tiếp cận NSPredicate
hoạt động trên cả Mac và iPhone (mọi phiên bản).
Nguồn
2010-07-28 02:40:23
Objective-C tự nó là một ngôn ngữ rất tối thiểu mà hầu như không làm bất cứ điều gì cho bạn - chắc chắn không phải là biểu thức thông thường. Nó có liên quan nhiều hơn để nói những gì các thư viện bạn đang sử dụng (Cocoa, Cocoa Touch, POC, vv). – Chuck
Cocoa Touch. Cảm ơn – ohho
Số điện thoại của tôi bắt đầu bằng 0 ở Vương quốc Anh hoặc số +44 khi tôi ở nước ngoài. – JeremyP