Objective c 验证汽车牌照号的给定字符串

Objective c 验证汽车牌照号的给定字符串,objective-c,Objective C,我需要使用Objective-C验证巴西汽车车牌号 巴西车牌号由三个字母字符+四个数字组成,如ABC1234 如何使用Objective-C以一种简单的方式实现这一点?我确信有人知道如何使用2或3行代码实现这一点,但这是我目前能够解决的问题: +(BOOL)validatePlacaString:(NSString *)inputedString{ // remove "-" and spaces from the string: inputedString = [inputedSt

我需要使用Objective-C验证巴西汽车车牌号

巴西车牌号由三个字母字符+四个数字组成,如ABC1234


如何使用Objective-C以一种简单的方式实现这一点?

我确信有人知道如何使用2或3行代码实现这一点,但这是我目前能够解决的问题:

    +(BOOL)validatePlacaString:(NSString *)inputedString{


// remove "-" and spaces from the string:
inputedString = [inputedString stringByReplacingOccurrencesOfString:@" " withString:@""];
inputedString = [inputedString stringByReplacingOccurrencesOfString:@"-" withString:@""];

NSLog(@"you have inputed '%@' for validation...", inputedString);

// get the first 3 chars:
NSRange range03 = NSMakeRange(0, 3);
// get the next 4 chars:
NSRange range34 = NSMakeRange(3, 4);


if ([inputedString length] == 7) {

    // convert to uppercase the given string:

    NSString *first3Chars = [[inputedString uppercaseString] substringWithRange:range03];
    NSString *last4Chars = [inputedString substringWithRange:range34];

    NSLog(@"first 3 chars --> '%@' last 4 chars --> '%@' ", first3Chars, last4Chars);

    // make sure you have only allowed chars in the first 3 chars:

    NSArray *first3CharsArray = [self convertToArray:first3Chars];


    BOOL valid = YES;

    for (NSString *s in first3CharsArray)
    {
        if ([@"ABCDEFGHIJKLMNOPQRSTUVXWYZ" rangeOfString:s].location != NSNotFound) {

            NSLog(@"VALID --> %@", s);

        }else{

            NSLog(@"NOT VALID --> %@", s);
            valid = NO;
            break;

        }
    }

    NSLog(@"String is valid --> %d", valid);

    if (valid) {

        if ([[self getNumbersFromString:last4Chars] length] == 4) {

            return YES;

        }else{

            return NO;

        }


    }else{

        return NO;
    }


}else{
    // inputed string is not 7!!!
 return NO;
    }

    return NO;

   }

 +(NSArray *)convertToArray:(NSString *)givenString{
NSMutableArray *arr = [[NSMutableArray alloc]init];
for (int i=0; i < givenString.length; i++) {
    NSString *tmp_str = [givenString substringWithRange:NSMakeRange(i, 1)];
    [arr addObject:[tmp_str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}
return arr;
}

+(NSString*)getNumbersFromString:(NSString*)String{

NSArray* Array = [String componentsSeparatedByCharactersInSet:
                  [[NSCharacterSet decimalDigitCharacterSet] invertedSet]];

NSString* returnString = [Array componentsJoinedByString:@""];

return (returnString);

}
+(BOOL)ValidatePlacasting:(NSString*)InputString{
//从字符串中删除“-”和空格:
InputString=[InputString StringByReplacingOfString:@”“with String:@”“]的发生率;
InputString=[InputString StringByReplacingOfString:@“-”和字符串:@“];
NSLog(@“您已输入“@”进行验证…”,InputString);
//获取前3个字符:
NSRange range 03=NSMakeRange(0,3);
//获取接下来的4个字符:
NSRange range 34=NSMakeRange(3,4);
如果([InputString长度]==7){
//将给定字符串转换为大写:
NSString*first3Chars=[[InputString uppercaseString]substringWithRange:range03];
NSString*last4Chars=[InputtedString substringWithRange:range34];
NSLog(@“前3个字符-->'%@'后4个字符-->'%@',前3个字符,后4个字符);
//确保在前3个字符中只允许使用字符:
NSArray*first3CharsArray=[自转换阵列:first3Chars];
BOOL valid=YES;
for(first3CharsArray中的NSString*s)
{
if([@“ABCDEFGHIJKLMNOPQRSTUVXWYZ”rangeOfString:s]。位置!=NSNotFound){
NSLog(@“有效-->%@”,s);
}否则{
NSLog(@“无效-->%@”,s);
有效=否;
打破
}
}
NSLog(@“字符串有效-->%d”,有效);
如果(有效){
if([[self-getNumbersFromString:last4Chars]length]==4){
返回YES;
}否则{
返回否;
}
}否则{
返回否;
}
}否则{
//输入的字符串不是7!!!
返回否;
}
返回否;
}
+(NSArray*)convertToArray:(NSString*)给定{
NSMutableArray*arr=[[NSMutableArray alloc]init];
for(int i=0;i你愿意在中间留一个空间吗?你试过什么吗?它做错了什么?这里有这么多的答案,所以你可以很容易地用它来解决这个问题,这里有一个谢谢SGM1。。。你真是太好了。