Objective c 验证汽车牌照号的给定字符串
我需要使用Objective-C验证巴西汽车车牌号 巴西车牌号由三个字母字符+四个数字组成,如ABC1234Objective 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以一种简单的方式实现这一点?我确信有人知道如何使用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。。。你真是太好了。