我有以下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];
}
这有用吗?
答案 0 :(得分:0)
preg_match
使用
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask
使用选项NSRegularExpressionSearch
。
检查range.location不等于NSNotFound