Как замаскировать строку адреса электронной почты в Objective-C?
Я хочу замаскировать электронную почту следующим образом
[email protected] на m****[email protected]
@GovindParashar, можете ли вы предоставить мне фрагмент кода для этого.
Найдите диапазон @
и создайте новый диапазон, уменьшив 2 от местоположения диапазона. Создайте новую строку с *
символами, повторяющимися в соответствии с новой длиной диапазона. Теперь замените символы из диапазона.
NSArray *emails = @[@"[email protected]",@"mugunthgmail.com",@"[email protected]"];
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*****[email protected]
} else {
NSLog(@"Invalid Email Address");
}
}
m*****[email protected]
Invalid Email Address
Invalid Email Address
NSRegularExpression может вам помочь