如何查看UITextField
字母中的文字?我希望我的UITextField
仅包含数字字符,短划线,+符号,空格等,但 NO 字母。
那么如何检查我的UITextField.text
不是否包含字母?
提前致谢!
答案 0 :(得分:8)
我认为这应该有效:
if ([myTextField.text rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound) {
NSLog(@"This string contains letters.");
}
此处记录了所有可用的字符集:NSCharacterSet
答案 1 :(得分:0)
要添加进一步的好处并防止错误,如果您使用的是故事板,请选择UITextField
并打开属性检查器(右上方的栏目顶部带有盾牌图标),并在该视图的中点处是5个下拉菜单,其中一个称为Keyboard
。你有几个控制器,其中一个是Numbers and Punctuation
。
这会将键盘设置为仅显示数字和所有可用的标点符号。将其与:
结合起来//SET LEGAL CHARACTERS
NSCharacterSet* tSet = [NSCharacterSet characterSetWithCharactersInString:
@"abcdef1234567890ABCDEF"];//whatever amount or type of characters you want to use
NSCharacterSet* invSet = [tSet invertedSet];
if (yourString rangeOfCharacterFromSet:invSet].location != NSNotFound){
[[[UIAlertView alloc] initWithTitle:@"Input Error"
message:@"Make sure the value entered is numerical or punctual only."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
并且您有一个简单易用的应用程序,可以防止用户意外或故意导致错误。