如何验证 UITextView 以使其不允许像“&”这样的特殊字符?

Posted

技术标签:

【中文标题】如何验证 UITextView 以使其不允许像“&”这样的特殊字符?【英文标题】:how to validate a UITextView so that it does not allow special characters like '&'? 【发布时间】:2012-08-25 05:46:00 【问题描述】:

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

【问题讨论】:

您现在已经问了 12 个问题,但仍然没有接受任何答案。有几个人花时间帮助你。 “接受”那些对你有帮助的答案将是一种善意的姿态。这并不复杂:只需单击答案左侧的复选标记轮廓即可。 【参考方案1】:

第一种方式,提到所有接受的字符,如以下示例代码,如果发现超出范围的字符,则显示消息。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] reverseSet]; 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(@"这个字符串包含非法字符"); 返回错误; 返回真;

【讨论】:

这是部分工作,因为它不验证文本字段中的第一个字符 我的意思是如果我只输入一个特殊字符,比如&。它不验证。

以上是关于如何验证 UITextView 以使其不允许像“&”这样的特殊字符?的主要内容,如果未能解决你的问题,请参考以下文章

在片段中调用 getActivity() 以使其不返回 null 的最佳做法是啥? [复制]

iphone UitextView 文本被截断

如何切换输入的样式以使其看起来像标签

自定义 UINavigationBar 使其不可见,但保持按钮可见

如何设置 WPF 组合框的样式以使其看起来更像以前的版本

如何避免“更改此条件,使其不总是评估为“假””