Vous pouvez utiliser une bibliothèque d'expressions régulières (comme RegexKit, etc.), ou vous pouvez utiliser des expressions régulières via NSPredicate
(un peu plus obscure, mais ne nécessite pas de troisième bibliothèques de parties). Cela ressemblerait à quelque chose comme ceci:
NSString *phoneNumber = ...;
NSString *phoneRegex = @"[235689][0-9]{6}([0-9]{3})?";
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
BOOL matches = [test evaluateWithObject:phoneNumber];
Si vous êtes sur iPhone, puis iOS 4 introduit NSRegularExpression
, qui fonctionne également. L'approche NSPredicate
fonctionne aussi bien sur Mac et iPhone (toute version).
Objective-C lui-même est une langue très minime qui ne presque rien pour vous - Certainement pas des expressions régulières. Il est beaucoup plus pertinent de dire quelles bibliothèques vous utilisez (Cocoa, Cocoa Touch, POC, etc.). – Chuck
Cocoa Touch. Merci – ohho
Mon numéro de téléphone commence par un 0 au Royaume-Uni ou +44 quand je suis à l'étranger. – JeremyP