2010-01-13 30 views
1

我需要检查用户是否输入了一个字母键或十进制(。)以外的任何符号。我把它放在一个if语句中,好奇是否有一个容易找到这个脚本的地方。任何帮助将不胜感激。检查是否在iPhone SDK中使用textField中的Alpha或符号

+0

你的意思是“在”键?即“@”?这不是所谓的阿尔法。 – Rooke 2010-01-13 16:35:10

+0

字母a -z和除小数点符号外的所有符号。 – HollerTrain 2010-01-13 16:36:10

回答

0

构建一个NSCharacterSet您允许的字符的实例,并测试该字符串是否包含该集以外的字符。

0

可以将此方法添加到您的UITextFieldDelegate类,而这将是你每次文本输入到文本字段时执行:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    NSCharacterSet *set = [NSCharacterSet punctuationCharacterSet]; 
    NSRange setRange = [string rangeOfCharacterFromSet:set]; 
    if (setRange.location == NSNotFound) 
    { 
     textField.textColor = [UIColor redColor]; 
    } 
    else 
    { 
     textField.textColor = [UIColor greenColor]; 
    } 
    return YES; 
}