2010-01-13 3 views
1

사용자가 알파 키 또는 십진수 (.) 이외의 다른 심볼을 입력했는지 확인해야합니다. if 문 안에이 스크립트를 찾을 수있는 쉬운 곳이 있는지 궁금 할 것입니다. 어떤 도움이라도 대단히 감사하겠습니다.알파 또는 심볼이 iPhone SDK의 textField에 있는지 확인하십시오.

+0

당신이 "에서"키 뜻을? 즉 "@"입니까? 그것은 알파라고하지 않습니다. – Rooke

+0

a -z와 십진 기호를 제외한 모든 기호. – HollerTrain

답변

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; 
}