在iPhone中验证文件名(或文件夹名称)

时间:2011-09-13 04:13:33

标签: iphone regex nspredicate

我试图在用户尝试更改名称时验证文件名/文件夹名称。 我知道我应该使用Regex / NSPredicate。但是,我在下班后的研究中并没有弄清楚。 感谢任何专家可以帮助我。 非常感谢。

Madhumal Gunetileke建议: 我修改了他的代码如下。它适用于我的情况。

NSCharacterSet * set = [NSCharacterSet characterSetWithCharactersInString:@"\\/:*?\"<>|"];
    if ([newName rangeOfCharacterFromSet:set].location != NSNotFound) {
        NSLog(@"illegal Name");
        return;
    }

1 个答案:

答案 0 :(得分:0)

如果您只是想查看用户提供的新名称是否有效,您可以尝试这样的事情;

NSString *yourString = @"<the name you want to verify comes here>";
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] invertedSet];
if ([yourString rangeOfCharacterFromSet:set].location != NSNotFound) {
    NSLog(@"NOT Legal");
}
else {
    NSLog(@"Legal");
}