我有一些UITextViews。用户将输入数据,并使用Web服务将数据提交到数据库。数据库显示错误,例如'&'等特殊字符。所以我想在他/她尝试使用这个特殊字符提交数据时阻止用户,或者应该提交有关提交数据的消息'我的意思是如何验证该textview?如果有人知道,请帮助我。 Thanx很多。
答案 0 :(得分:5)
第一种方式,提到所有接受的字符,如下面的示例代码,如果发现超出范围的字符,则显示消息。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] invertedSet]; if ([textField.text rangeOfCharacterFromSet:set].location != NSNotFound) { NSLog(@"This string contains illegal characters"); return FALSE; } return TRUE; }
或者,使用正则表达式并以另一种方式做同样的事情......
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ([textField.text isMatchedByRegex:@"[^a-zA-Z0-9]"]) { NSLog(@"This string contains illegal characters"); return FALSE; } return TRUE; }