构建一个 NSCharacter 集来限制 UITextField 输入用户名。我希望用户也能够输入下划线(因此 [A-Za-z0-9_]),但 alphanumericCharacterSet 不包括它。有没有办法以简短的形式指定这样的范围?我看到了 + (id)characterSetWithRange:(NSRange)aRange
,但我并不真正理解它是如何工作的。
我有一个简单的 UITextField 子类,我将字符集传递给它。该限制工作正常,并且不允许用户输入除字母数字之外的任何内容。只需将“_”添加到这些津贴中即可。
NSCharacterSet *characterSet = [NSCharacterSet alphanumericCharacterSet];
[textField setAllowed:characterSet];
[textField setFrame:frame];
最佳答案
Objective-C
NSMutableCharacterSet *_alnum = [NSMutableCharacterSet characterSetWithCharactersInString:@"_"];
[_alnum formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
swift
let _alnum = NSMutableCharacterSet(charactersIn: "_")
_alnum.formUnion(with: .alphanumerics)
关于iphone - NSCharacterSet:如何将 "_"添加到 alphanumericCharacterSet 文本限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767675/
相关文章:
ios - 如何以编程方式使用 UIView autoresizingMask 属性?
ios - writeToFile:atomically: atomically 是什么意思?
objective-c - 每个 ivar 都必须是一个属性吗?
objective-c - 如何在 Objective-C 中使用 Swift 字符串枚举?
objective-c - 获取最顶层的 UIViewController
objective-c - 通过索引访问 NSMutableDictionary 中的对象
objective-c - 添加/删除带有动画的 UITableViewCell?