2012-04-18 67 views
5

在我的應用程序中。我想用特殊字符驗證文本字段,使用特殊字符驗證文本字段

Ex。 如果用戶按下?從鍵盤比用戶無法進入?在Textfield中,

請任何人建議,我該怎麼做?

回答

5

嘗試像下面這將有助於you.It只接受字母

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
    { 
     //For avoiding user to enter non digital number.. 
     if([[string stringByTrimmingCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] isEqualToString:@""]) 
     { 
      return NO; 
     } 
     else 
     { 
      return YES; 
     } 
    } 
0

檢查this

使用

- (BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered 
0

見,如果這個工程:

-(NSString *) formatIdentificationNumber:(NSString *)string 
    { 
     NSCharacterSet * invalidNumberSet = [NSCharacterSet characterSetWithCharactersInString:@"\[email protected]#$%^&*()[]{}'\".,<>:;|\\/?+=\t~` "]; 

    NSString * result = @""; 
    NSScanner * scanner = [NSScanner scannerWithString:string]; 
    NSString * scannerResult; 

    [scanner setCharactersToBeSkipped:nil]; 

    while (![scanner isAtEnd]) 
    { 
    if([scanner scanUpToCharactersFromSet:invalidNumberSet intoString:&scannerResult]) 
    { 
     result = [result stringByAppendingString:scannerResult]; 
    } 
    else 
    { 
     if(![scanner isAtEnd]) 
     { 
      [scanner setScanLocation:[scanner scanLocation]+1]; 
     } 
    } 
} 

    return result; 
    }