使用NSArray中的数据检查NSString的内容

时间:2014-03-16 22:06:35

标签: ios uitextfield nsarray

我有下一个问题:

在UITextField中,我需要检查用户是否为名称插入了无效字符,例如[] {}。

我的问题是,如何使用一个内部无效字符的NSArray检查UITextField的内容?

2 个答案:

答案 0 :(得分:2)

如果你想在一些输入政治上检查键盘上的单字母输入 你需要使用textField委托方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

您应该检查异常数组中是否包含 string 。如果是这样,则返回 NO ,并且符号不会出现在屏幕上。

答案 1 :(得分:0)

好的,我解释一下我要解决的问题。因为我正在控制UITextField的行为,我在用户输入名称和一条注释,我创建一个包含我允许的所有字符的字符集,并将其放入shouldChangeCharactersInRange方法中:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSCharacterSet *invalidCharSet = [[NSCharacterSet characterSetWithCharactersInString:@" ,.abcdefghijklmnopqrstuvwxyzçñ?!'ABCDEFGHIJKNMLOPQRSTUVWXYZÇÑ-_;:0123456789+*()-/@áàéèíìóòúù"] invertedSet];

NSString *filtered = [[string componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""];

return [string isEqualToString:filtered];

}