今天有用户反应提示手机号码不合法,开始怀疑是有空格,但是之前已经做了去除空格的处理,一直不知道什么原因。后来让用户手动输入,没有提示不合法,问他是从哪里复制的(因为之前遇到过从MSN聊天记录中复制会带有特殊字符),用户说是从通讯录中。于是模拟用户操作,果然提示不合法。后来查看发现手机号码变成了”\u0000202d 17620378878 \u0000202c”。然后做过滤处理。
//ios11 从通讯录复制手机号码 前后有特殊符号
+ (NSString *)getSeparatedPhoneNumberWithString:(NSString *)phoneString {
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
NSString * string = phoneString;
NSCharacterSet *specCharacterSet = [characterSet invertedSet];
NSArray * strArr = [string componentsSeparatedByCharactersInSet:specCharacterSet];
return [strArr componentsJoinedByString:@""];
}
网友评论