网上的大部分都是普通的车牌号校验的,没有新能源的车牌校验的,新能源汽车的车牌号比普通的车牌号要多一位,相差很多,下面有两种汽车校验的方法。
+(BOOL)checkCarID:(NSString*)carID;{if(carID.length==7)
{
//普通汽车,7位字符,不包含I和O,避免与数字1和0混淆
NSString*carRegex =@"^[\u4e00-\u9fa5]{1}[a-hj-np-zA-HJ-NP-Z]{1}[a-hj-np-zA-HJ-NP-Z0-9]{4}[a-hj-np-zA-HJ-NP-Z0-9\u4e00-\u9fa5]$";NSPredicate*carTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",carRegex];
return [carTest evaluateWithObject:carID];
}
else if(carID.length==8)
{
//新能源车,8位字符,第一位:省份简称(1位汉字),第二位:发牌机关代号(1位字母);//小型车,第三位:只能用字母D或字母F,第四位:字母或者数字,后四位:必须使用数字;([DF][A-HJ-NP-Z0-9][0-9]{4})//大型车3-7位:必须使用数字,后一位:只能用字母D或字母F。([0-9]{5}[DF])
NSString*carRegex =@"^[\u4e00-\u9fa5]{1}[a-hj-np-zA-HJ-NP-Z]{1}([0-9]{5}[d|f|D|F]|[d|f|D|F][a-hj-np-zA-HJ-NP-Z0-9][0-9]{4})$";NSPredicate*carTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",carRegex];
return[carTest evaluateWithObject:carID];
}
returnNO;
}
网友评论