项目里可能会有这种需求:只能输入特定的字符,如只输入数字小数点。
可以用下面这种方法来判断:
NSString*SpecialChar =@"123456789.";//特定字符
NSString*string =@"abcd";//输入文本
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:SpecialChar] invertedSet];//生成除特定字符外的字符集
NSArray *array = [string componentsSeparatedByCharactersInSet:cs];//把输入文本用得到的字符集分割,得到一个只含特定字符的数组,去掉了文本中不是特定字符的字符。
NSString*result = [arraycomponentsJoinedByString:@""];//拼接剩下的字符
BOOLbl = [stringisEqualToString:result];//如果最后拼接字符=原字符 说明输入文本中不包含非法字符