1

I searched a lot over Google, but cant find a valid solution for best way to remove special characters'&' from Text Field in iPhone

I only want to remove or delimit user to enter '&' keyword.

I know that I have to do something in function

- (BOOL)textField:(UITextField *)textFieldBeingChanged shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

But what exactly not getting it properly.

Thanks in advance.....

Brad Larson
  • 170,088
  • 45
  • 397
  • 571
P.J
  • 6,547
  • 9
  • 44
  • 74

1 Answers1

10

See if this works :

-(NSString *) formatIdentificationNumber:(NSString *)string
{
    NSCharacterSet * invalidNumberSet = [NSCharacterSet characterSetWithCharactersInString:@"\n_!@#$%^&*()[]{}'\".,<>:;|\\/?+=\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;
}  
Nitish
  • 13,845
  • 28
  • 135
  • 263