生成NSCharacter集以限制UITextField用于输入用户名.我希望用户也能输入一个下划线(因此[A-Za-z0-9_]),但alphanumericCharacterSet不包括它.有没有办法用简写的形式指定这样的范围?我看到了+ (id)characterSetWithRange:(NSRange)aRange个,但我不太明白这是怎么回事.

我有一个简单的UITextField子类,我将字符集传递给它.该限制可以正常工作,不允许用户输入字母数字以外的任何内容.只需要在这些津贴中加上"ux".

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)

Objective-c相关问答推荐

Objective-C NSMutableArray 在枚举时发生了变异?

iPhone 可达性判断

使用 AVAudioplayer 在后台播放音乐

将 NSInteger 变量传递给 NSMutableDictionary 或 NSMutableArray

UISearchDisplayController 没有结果tableView?

NSFileManager 唯一的文件名

UITextField 中的文本在编辑后向上移动(编辑时居中)

使用 DatePicker 展开和折叠 UITableViewCells

[MFMailComposeViewController canSendMail] 什么时候返回 NO

当用户返回视图控制器时如何取消 Select uitableview 单元格

从昨天开始无法将存档上传到应用store

Electron邮件镇静 iOS 8

如何将@selector 作为参数传递?

如何在 Objective-C (iOS) 中判断 NaN 值

Select 具有受支持架构的目标以便在此设备上运行

如何配置我的应用程序 - 菜单项被禁用?

NSNumber 和 NSInteger 有什么区别?

iPhone - dequeueReusableCellWithIdentifier 用法

带有Go按钮而不是返回的 iOS 键盘

如何在对象内使用 objc_setAssociatedObject/objc_getAssociatedObject?