1

我有一些 UITextViews。用户将在哪里输入数据,该数据将使用 Web 服务提交到数据库。数据库显示错误,带有特殊字符,如“&”。因此,当用户尝试使用此特殊字符提交数据时,我想阻止用户,或者应该在提交数据时出现消息“我的意思是如何验证该文本视图?如果有人知道,请帮助我。非常感谢。

4

1 回答 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 回答