我有一些 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 回答