我有一些 UITextViews。用户将在哪里输入数据,该数据将使用 Web 服务提交到数据库。数据库显示错误,带有特殊字符,如“&”。因此,当用户尝试使用此特殊字符提交数据时,我想阻止用户,或者应该在提交数据时出现消息“我的意思是如何验证该文本视图?如果有人知道,请帮助我。非常感谢。
问问题
2342 次
1 回答
5
第一种方式,提到所有接受的字符,如下面的示例代码,如果发现超出范围的字符,则显示消息。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] 反转集]; if ([textField.text rangeOfCharacterFromSet:set].location != NSNotFound) { NSLog(@"这个字符串包含非法字符"); 返回错误; } 返回真; }
或者,使用正则表达式并以另一种方式做同样的事情......
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ([textField.text isMatchedByRegex:@"[^a-zA-Z0-9]"]) { NSLog(@"这个字符串包含非法字符"); 返回错误; } 返回真; }
于 2012-08-25T05:57:06.833 回答