2

我有以下 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];

}

那样有用吗?

4

1 回答 1

0

preg_match使用

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

带选项NSRegularExpressionSearch

检查 range.location 不等于NSNotFound

于 2013-10-14T23:39:36.280 回答