2011-08-09 130 views
2

我有以下的JavaScript正则表达式检查,我想在Objective-C做同样在Objective-C如何使在Objective-C正则表达式检查

if(/^[0-9]+$/.test(name)){ 
    if(name.ength > 16) valid = false; 
    if(name.substring(0,2) != "00") valid = false; 
    return valid; 
} 

所以,我想它是这样的:

BOOL valid = true; 

NSString *regex1 = @"/^[0-9]+$/"; 
NSPredicate *test1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex1]; 

if([test1 evaluateWithObject:name]){ 
    if([name length] > 16){ 
     valid = false; 
    } 

    if([name rangeOfString:@"00"].location == NSNotFound){ 
     valid = false; 
    } 
} 

但是,如果身体永远不会进入。有任何想法吗?

回答

1

下降斜线 - 你需要他们在PHP中的分隔符,而不是在Objective-C(他们会试图匹配一个斜线,这显然会失败):

NSString *regex1 = @"^[0-9]+$"; 
+0

的作品就像一个魅力,问候来自paderborn :) –