支付寶賬戶名(包括手機號或郵箱地址)顯示必須脫敏顯示。
- 手機號顯示建議: 顯示前3位 + ****** + 後2位, 如137******50
- 郵箱地址顯示建議: @前面的字符顯示3位, 3位後顯示3個*, @後面完整顯示如:com***@163.com , 如果@前字符少於三位, 則全部顯示並在@前加***, 例如[email protected]則顯示爲tt***@163.com
+ (NSString*) getSecrectStringWithAlipayAccount:(NSString*)account
{
NSMutableString *newStr;
if ([TTDataCheck isMobileNumber_str:account] && account.length == 11) {//驗證爲手機號
newStr = [NSMutableString stringWithString:account];
NSRange range = NSMakeRange(3, 6);
[newStr replaceCharactersInRange:range withString:@"******"];
}else{
//處理郵箱字符串
// [email protected] -->> 郵箱123****[email protected]
NSArray * emailArray = [account componentsSeparatedByString:@"@"];
NSString * emailHead = emailArray.firstObject;
NSString * emailLast = emailArray.lastObject;
//拼接
NSInteger emailHeadLength = emailHead.length;
if(emailHeadLength>3) {//大於3位的郵箱 可以拼接前三位後兩位方式
newStr = [NSMutableString stringWithString:[emailHead substringToIndex:3]];
for (int i = 0; i < 3; i++) [newStr appendString:@"*"];//中間*號
}else{//不足3位郵箱 前一位
newStr = [NSMutableString stringWithString:emailHead];
for (int i = 0; i < 3; i++) [newStr appendString:@"*"];//中間*號
}
//加後綴
[newStr appendString:emailLast];
}
return newStr;
}
驗證是否是手機號,由於手機號碼段越來越多,只對第一位做驗證,
+ (BOOL)isMobileNumber_str:(NSString *)mobileNum
{
NSString * MOBILE = @"^1+[0123456789]+\\d{9}";
NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
if (([regextestct evaluateWithObject:mobileNum] == YES))
{
return YES;
}
else
{
return NO;
}
}