【发布时间】:2017-05-09 18:24:57
【问题描述】:
我正在制作一个用户必须输入全名的注册表单,这意味着此特定文本字段的唯一可接受字符应该是 (A-Z, a-z) 加上“”(空格) 但没有数字,也没有特殊字符,例如 -`+¨¨_{ 等。它还应该接受重音符号,例如:[à, é, û] 以及所有字母的所有其他组合。
我现在拥有的是:
- (BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)characters {
NSMutableCharacterSet *mySet = [NSMutableCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZñ. "];
return ([characters rangeOfCharacterFromSet:[mySet invertedSet]].location == NSNotFound);
}
这很好用,但不包括我需要支持的重音字符,我相信应该有更简单的方法来包括丢失的字符,而不必一次输入一个。
【问题讨论】:
-
最简单的解决方案是首先从
characters中删除变音符号。
标签: objective-c regex string uitextfield