字串: 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;
}