如何删除特殊字符&'来自UItextField iPhone

时间:2011-08-25 06:17:57

标签: iphone validation uitextfield

我在谷歌搜索了很多,但无法找到一个有效的解决方案,以便最好地删除特殊字符&'来自iPhone中的文字字段

我只想删除或分隔用户输入'&'关键字。

我知道我必须在功能上做点什么

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

但是到底是什么原因没有得到它。

提前致谢.....

1 个答案:

答案 0 :(得分:10)

看看是否有效:

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