使用NSRegularExpression仅验证字符串或数字

时间:2011-04-25 11:03:19

标签: objective-c ios ipad

确定在iPad中我有2个textfield one只接受字符串 和其他textField只接受整数。

我可以使用NSRegularExpression验证它们吗?

2 个答案:

答案 0 :(得分:0)

如果您使用的是RegExKit库

[_yourString isMatchedByRegex:@"\\d+"];

答案 1 :(得分:0)

您可以使用 NSPredicate 来达到您的目的。

匹配数字:

NSString *number = @"12345";
NSString *regex = @"[0-9]*";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL match = [predicate evaluateWithObject:number]);

匹配字符串:

NSString *string = @"Hello";
NSString *regex = @"[a-z]*";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES[C] %@", regex];
BOOL match = [predicate evaluateWithObject:string]);

在上面的正则表达式@"[a-z]*";中,我省略了大写字符"A-Z",因为我在MATCHES[C]代表不区分大小写的谓词中使用了C