1

如何查看我UITextField的信件中的文字?我希望我UITextField只包含数字字符、破折号、+ 符号、空格等,但包含字母。

那么如何检查我的UITextField.text是否包含字母?

提前致谢!

4

2 回答 2

8

我认为这应该有效:

if ([myTextField.text rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound) {
  NSLog(@"This string contains letters.");
}

所有可用的字符集都记录在这里:NSCharacterSet

于 2013-03-26T17:19:31.630 回答
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];

}

并且您有一个简单易用的应用程序,可以防止用户意外或故意造成错误。

于 2014-10-22T15:00:49.253 回答