Travis.Wang

ObjC正则练手 - 获取国内手机号运营商

今天效率很高啊, 从实现到测试 一次通过!!

放到Github上了 https://gist.github.com/trawor/5843485 大家看看还有没有改进的空间

附送测试用例:

-(void)testCarrierLogic{
    NSArray *[email protected][
                     @[@"15600000000",@"U"],
                     @[@"18600000000",@"U"],
                     @[@"130 000 00000",@"U"],
                     @[@"13800000000",@"M"],
                     @[@"+8613700000000",@"M"],
                     @[@"13300000000",@"T"],
                     @[@"189-0000-0000",@"T"],
                     @[@"1370xb00000",@""],
                     @[@"14701200000",@""],
                     @[@"+14701200000",@""],
                     @[@"+8614701200000",@""],
                     @[@"24701200000",@""],
                     @[@"247012",@""],
                     ];

    NSString *sphone;
    NSString *sca;
    NSString *result;

    for (NSArray *t in cases) {

        sphone=t[0];
        sca=t[1]; if([sca isEqualToString:@""])sca=nil;
        result=[PFCarrier carrierOfPhone:sphone];

        //这是Xcode5的XCTest,Xcode4自己稍微改一下
        XCTAssertEqualObjects(sca, result, @"%@运营商错误, 应该是%@ 结果是%@",sphone,sca,result); 
    }
}