//驗(yàn)證身份證號碼
+(BOOL)checkIdentityCardNo:(NSString*)cardNo
{
if(cardNo.length!=18)
{
returnNO;
? }
NSArray* codeArray = [NSArray arrayWithObjects:@"7",@"9",@"10",@"5",@"8",@"4",@"2",@"1",@"6",@"3",@"7",@"9",@"10",@"5",@"8",@"4",@"2",nil];NSDictionary* checkCodeDic = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1",@"0",@"X",@"9",@"8",@"7",@"6",@"5",@"4",@"3",@"2",nil]? forKeys:[NSArray arrayWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",nil]];
NSScanner* scan = [NSScanner scannerWithString:[cardNo substringToIndex:17]];intval;
BOO LisNum = [scan scanInt:&val] && [scan isAtEnd];
if(!isNum)
{
return NO;?
? }
int sumValue =0;
for(inti =0; i<17; i++)
{? ? ??
sumValue+=[[cardNo substringWithRange:NSMakeRange(i ,1) ] intValue]* [[codeArray objectAtIndex:i] intValue];? ? }
NSString* strlast = [checkCodeDic objectForKey:[NSString stringWithFormat:@"%d",sumValue%11]];
if([strlast isEqualToString: [[cardNo substringWithRange:NSMakeRange(17,1)] uppercaseString]])
{
return YES;??
}
return NO;
}
文/靜花寒(簡書作者)
原文鏈接:http://www.reibang.com/p/61d45e8d20ca
著作權(quán)歸作者所有坷随,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)房铭,并標(biāo)注“簡書作者”。