2011-08-09 129 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 :) –