iphone - NSCharacterSet:如何将 "_"添加到 alphanumericCha

构建一个 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?

ios - 以编程方式获取应用程序支持文件夹的路径

ios - 协议(protocol)和委托(delegate)之间的区别?

ios - 子类化时混合objective-c和swift