2013-10-14 40 views
2

我有以下的PHP代碼:PregMatch PHP代碼的Objective-C

public static function getCardTypeFromNumber($number) { 
    $ccTypes = array(
     '3[47]'  => self::Type_Amex, 
     '6(?:5|011)' => self::Type_Disc, 
     '5[1-5]'  => self::Type_MC, 
     '4'   => self::Type_Visa, 
    ); 

    foreach ($ccTypes as $prefix => $type) { 
     if (preg_match('/^' . $prefix . '/', $number)) { return $type; } 
    } 

我試圖將其轉換成Objective-C的,但我不知道從哪裏開始?

任何人都可以請幫忙嗎?

我知道該怎麼做的一切,但部分的preg_match ...什麼是Objective-C的等價以上的preg_match代碼?

這是我到目前爲止?

NSDictionary * cardTypes = @{@"3[47]": WPCardTypeAmex, 
       @"6(?:5|011)": WPCarddTypeDiscover, 
       @"5[1-5]": WPCardTypeMasterCard, 
          @"4": WPCardTypeVisa}; 

for (NSString * key in cardTypes) { 
    NSString * value = [cardTypes objectForKey:key]; 

    [self.number rangeOfString: value options: NSRegularExpressionSearch]; 

} 

這是否行得通?

+0

當然'代表陣列---通過使用NSDictionary'是錯誤的,因爲'NSDictionary'不是數組。 – zaph

回答

0

對於preg_match使用

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask 

使用選項NSRegularExpressionSearch

檢查range.location不等於NSNotFound