1. 程式人生 > >字串: 4位1空格銀行卡、銀行卡加*、手機號加*

字串: 4位1空格銀行卡、銀行卡加*、手機號加*

- (NSString *)convertAccountString:(NSString *)str{
    
    NSString *getString = @"";
    
    int a = (int)str.length/4;
    int b = (int)str.length%4;
    int c = a;
    
    if (b>0){
        c = a+1;
    }else{
        c = a;
    }
    
    for (int i = 0 ; i<c; i++){
        
        NSString *string = @"";
        
        if (i == (c-1)) {
            if (b>0) {
                string = [str substringWithRange:NSMakeRange(4*(c-1), b)];
            }else {
                string = [str substringWithRange:NSMakeRange(4*i, 4)];
            }
        }else {
            string = [str substringWithRange:NSMakeRange(4*i, 4)];
        }
        
        getString = [NSString stringWithFormat:@"%@ %@",getString,string];
    }
    
    return getString;
}

原作者程式碼下載

感謝原作者的程式碼分享。但是對其程式碼風格表示鄙視!

自己專案中的關於:

銀行卡加空格

銀行卡加****

手機號加****

等,程式碼如下:

+ (NSString *)encryptRealNameUserNameString:(NSString*)str{

    NSUInteger length = str.length;

NSMutableString * result = [[NSMutableStringalloc] init];

    for (NSUInteger i = 0; i < length - 1; i++) {

        [result appendString

:@"*"];

    }

    [result appendString:[str substringFromIndex:length - 1]];

    return result;

}

+ (NSString *)encryptRealNameMobileNoString:(NSString*)str{

    NSUInteger length = str.length;

NSMutableString * result = [[NSMutableStringalloc] init];

    [result appendString:[str substringToIndex:3]];

    [result appendString

:@"****"];

    [result appendString:[str substringFromIndex:length-4]];

    return result;

}

+ (NSString *)encryptRealNameIDCardNumberString:(NSString*)str{

    NSUInteger length = str.length;

NSMutableString * result = [[NSMutableStringalloc] initWithString:[str substringToIndex:1]];

    for (NSUInteger i = 1; i < length - 1; i++) {

        [result appendString:@"*"];

    }

    [result appendString:[str substringFromIndex:length - 1]];

    return result;

}

+ (NSString *)encryptRealNameBankNumberString:(NSString*)str{

NSString * strFoo = [NSStringstringWithFormat:@"%@", [DSRealNameModelclearRealNameSpaceInString:str]];

    NSInteger length = str.length;

    if (length <= 4) return strFoo;

    NSString * last4No = [str substringWithRange:NSMakeRange(length - 4, 4)];

NSMutableString * tempStr = [NSMutableStringstring];

    for (int i = 0; i < length - 4; i++) {

        [tempStr appendString:@"*"];

    }

    NSString * encryNoStr = [NSString stringWithFormat:@"%@%@", tempStr, last4No];

    NSMutableString * result = encryNoStr.mutableCopy;

    int flag = 0;

    for (int i = 1; i <= length/4 ; i++) {

        NSInteger index = i*4 + flag++;

        [result insertString:@" " atIndex: index];

    }

//    NSUInteger length = strFoo.length;

//    NSUInteger times = length / 4;

//    NSUInteger trailing = length % 4;

//    NSMutableString * result = [[NSMutableString alloc] init];

//

//    if (length <= 4) return strFoo;

//

//    for (NSUInteger i = 0; i < times; i++) {

//

//        [result appendString:@"**** "];

//    }

//

//    [result appendString:[strFoo substringWithRange:NSMakeRange(4*times, trailing)]];

    return result;

}

+ (NSString *)standardRealNameBankNumberString:(NSString*)str{

NSString * strFoo = [NSStringstringWithFormat:@"%@", [DSRealNameModelclearRealNameSpaceInString:str]];

    NSUInteger length = strFoo.length;

    NSUInteger times = length / 4;

    NSUInteger trailing = length % 4;

NSMutableString * result = [[NSMutableStringalloc] init];

    if (length <= 4) return strFoo;

    for (NSUInteger i = 0; i < times; i++) {

        NSRange range = NSMakeRange(4*i, 4);

        NSString * str = [strFoo substringWithRange:range];

        if (i > 0) [result appendString:@" "];

        [result appendString:str];

    }

    if (trailing > 0) [result appendString:@" "];

    [result appendString:[strFoo substringWithRange:NSMakeRange(4*times, trailing)]];

    return result;

}

+ (NSString *)clearRealNameSpaceInString:(NSString*)str{

NSArray * strs = [NSArrayarrayWithArray:[str componentsSeparatedByString:@" "]];

NSMutableString * result = [[NSMutableStringalloc] init];

    for (int i = 0; i< strs.count; i++) {

        [result appendString:strs[i]];

    }

    return result;

}