0

我只想允许 az、0-9 和 _(下划线),但它不能正常工作。

NSString *test = @"name_test09"; // should be valid
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"[a-z0-9_]"];

if ([predicate evaluateWithObject:test] == NO) {
    // not validated
} else {
    // validated
}
4

1 回答 1

-1

它应该是。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES[c] %@", @"[a-z][0-9]_"];

我的编辑:

NSString *s =@"abcdefghijklmnopqrstuvwxyz1234567890_";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES[c] %@",s];

或者

NSString *myRegex = @"[a-z0-9_]*"; 
NSPredicate *myTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", myRegex]; 
BOOL valid = [myTest evaluateWithObject: test];
if (valid)
{
}
else
{
}
于 2013-06-13T05:23:31.827 回答