PregMatch php code to Objective-c


PregMatch php code to Objective-c

我有以下PHP代码:

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部分......上面preg_match代码的objective-c等价物是什么?

这是我到目前为止所拥有的?

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];
}

这行得通吗?

preg_match使用

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

带有选项 NSRegularExpressionSearch .

检查范围。位置不等于NSNotFound