/*
param originalStr: 原始手机号字符串
param startLocation: 开始替换的位置索引
param length : 替换*的个数
return NSString : 返回替换*后的手机号字符串
*/
+(NSString *)replaceStringWithAsterisk:(NSString *)originalStr startLocation:(NSInteger)startLocation length:(NSInteger)length
{
NSMutableString *mutableString = [NSMutableString stringWithString:originalStr];
for (NSInteger i = startLocation; i < startLocation + length; i++) {
if (startLocation + length > 11 || startLocation < 0) {
return @"手机号替换*有误";
}
[mutableString replaceCharactersInRange:NSMakeRange(i, 1) withString:@"*"];
}
return [NSString stringWithString:mutableString ];
}
下面是调用过程
//手机号制作
NSUInteger random = arc4random() % 1000000000;
NSString *phoneStr = [NSString stringWithFormat:@"18%09lu",random];
//替换中间四位手机号码
NSString *phone =[Public replaceStringWithAsterisk:phoneStr startLocation:3 length:4];