Skip to content

Instantly share code, notes, and snippets.

@Koze
Last active April 19, 2017 06:25
Show Gist options
  • Save Koze/49e0232fbc717a434f22 to your computer and use it in GitHub Desktop.
Save Koze/49e0232fbc717a434f22 to your computer and use it in GitHub Desktop.
NSString contains only decimal numbers
+ (BOOL)containsOnlyDecimalNumbers1:(NSString *)string
{
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:string];
return [[NSCharacterSet decimalDigitCharacterSet] isSupersetOfSet:characterSet];
}
+ (BOOL)containsOnlyDecimalNumbers2:(NSString *)string
{
NSCharacterSet *characterSet = [NSCharacterSet decimalDigitCharacterSet].invertedSet;
return [string rangeOfCharacterFromSet:characterSet].length == 0;
}
+ (BOOL)containsOnlyDecimalNumbers3:(NSString *)string
{
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\d"
options:0
error:nil];
NSUInteger length = string.length;
return [regex numberOfMatchesInString:string options:0 range:NSMakeRange(0, length)] == length;
}
+ (BOOL)containsOnlyDecimalNumbers4:(NSString *)string
{
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\D"
options:0
error:nil];
NSUInteger length = string.length;
return [regex numberOfMatchesInString:string options:0 range:NSMakeRange(0, length)] == 0;
}
+ (BOOL)containsOnlyDecimalNumbers5:(NSString *)string
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES '\\\\d+'"];
return [predicate evaluateWithObject:string];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment