Как замаскировать адрес электронной почты в Objective-C - PullRequest
0 голосов
/ 28 мая 2019

Как мне замаскировать строку адреса электронной почты в Objective-C?

Я хочу замаскировать электронную почту следующим образом

mugunth@gmail.com в m*****h@gmail.com

1 Ответ

1 голос
/ 28 мая 2019

Найдите диапазон @ и создайте новый диапазон, уменьшив 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

Неверный адрес электронной почты

Неверный адрес электронной почты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...