2012-04-18 14 views
5

Nella mia app. Voglio convalidare il campo di testo con caratteri speciali,Convalida il campo di testo con carattere speciale

Es. se l'utente preme il? dalla tastiera di utente non in grado di inserire il? in Textfield,

Si prega di suggerire qualcuno, come posso farlo?

risposta

5

Prova come di sotto di esso vi aiuterà you.It accetterà solo lettere

- (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

controllo this

uso

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

vedere se questo funziona:

-(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; 
    } 
Problemi correlati