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 コードに相当する object-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 に答える