Найдите диапазон @
и создайте новый диапазон, уменьшив 2 от местоположения диапазона.Создайте новую строку с *
символами, повторяющимися с новой длиной диапазона.Теперь замените символы из диапазона.
NSArray *emails = @[@"mugunth@gmail.com",@"mugunthgmail.com",@"m@gmail.com"];
NSString *emailRegex = @"[A-Z0-9a-z._%+-]{2,}+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
for (NSString *email in emails) {
if ([emailTest evaluateWithObject:email]) {
NSRange range = [email rangeOfString:@"@"];
NSRange newRange = NSMakeRange(1, range.location-2);
NSString *replace = [@"" stringByPaddingToLength:newRange.length withString:@"*" startingAtIndex:0];
NSString * maskedEmail = [email stringByReplacingCharactersInRange:newRange withString:replace];
NSLog(@"%@",maskedEmail);//m*****h@gmail.com
} else {
NSLog(@"Invalid Email Address");
}
}
m*****h@gmail.com
Неверный адрес электронной почты
Неверный адрес электронной почты