日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

身份证号验证(省份,生日,末位校验)

發(fā)布時間:2024/8/26 综合教程 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 身份证号验证(省份,生日,末位校验) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

- (BOOL)validateIDCardNumber:(NSString *)value {
value = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

NSInteger length =0;
if (!value) {
return NO;
} else {
length = value.length;

if (length !=15 && length !=18) {
return NO;
}
}
// 省份代碼
NSArray *areasArray =@[@"11",@"12", @"13",@"14", @"15",@"21", @"22",@"23", @"31",@"32", @"33",@"34", @"35",@"36", @"37",@"41", @"42",@"43", @"44",@"45", @"46",@"50", @"51",@"52", @"53",@"54", @"61",@"62", @"63",@"64", @"65",@"71", @"81",@"82", @"91"];

NSString *valueStart2 = [value substringToIndex:2];
BOOL areaFlag =NO;
for (NSString *areaCode in areasArray) {
if ([areaCode isEqualToString:valueStart2]) {
areaFlag =YES;
break;
}
}

if (!areaFlag) {
return false;
}

NSRegularExpression *regularExpression;
NSUInteger numberofMatch;

int year =0;

switch (length) {
case 15:
year = [value substringWithRange:NSMakeRange(6,2)].intValue +1900;

if (year %4 ==0 || (year %100 ==0 && year %4 ==0)) {

regularExpression = [[NSRegularExpression alloc]initWithPattern:@"^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$"
options:NSRegularExpressionCaseInsensitive
error:nil];//測試出生日期的合法性
}else {
regularExpression = [[NSRegularExpression alloc]initWithPattern:@"^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$"
options:NSRegularExpressionCaseInsensitive
error:nil];//測試出生日期的合法性
}
numberofMatch = [regularExpression numberOfMatchesInString:value
options:NSMatchingReportProgress
range:NSMakeRange(0, value.length)];

//[regularExpression release];

if(numberofMatch >0) {
return YES;
}else {
return NO;
}

case 18:

year = [value substringWithRange:NSMakeRange(6,4)].intValue;

if (year %4 ==0 || (year %100 ==0 && year %4 ==0)) {

regularExpression = [[NSRegularExpression alloc]initWithPattern:@"^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$"
options:NSRegularExpressionCaseInsensitive
error:nil];//測試出生日期的合法性
} else {
regularExpression = [[NSRegularExpression alloc]initWithPattern:@"^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$"
options:NSRegularExpressionCaseInsensitive
error:nil];//測試出生日期的合法性
}
numberofMatch = [regularExpression numberOfMatchesInString:value
options:NSMatchingReportProgress
range:NSMakeRange(0, value.length)];

//[regularExpressionrelease];

if(numberofMatch >0) {
int S = ([value substringWithRange:NSMakeRange(0,1)].intValue + [value substringWithRange:NSMakeRange(10,1)].intValue) *7 + ([value substringWithRange:NSMakeRange(1,1)].intValue + [value substringWithRange:NSMakeRange(11,1)].intValue) *9 + ([value substringWithRange:NSMakeRange(2,1)].intValue + [value substringWithRange:NSMakeRange(12,1)].intValue) *10 + ([value substringWithRange:NSMakeRange(3,1)].intValue + [value substringWithRange:NSMakeRange(13,1)].intValue) *5 + ([value substringWithRange:NSMakeRange(4,1)].intValue + [value substringWithRange:NSMakeRange(14,1)].intValue) *8 + ([value substringWithRange:NSMakeRange(5,1)].intValue + [value substringWithRange:NSMakeRange(15,1)].intValue) *4 + ([value substringWithRange:NSMakeRange(6,1)].intValue + [value substringWithRange:NSMakeRange(16,1)].intValue) *2 + [value substringWithRange:NSMakeRange(7,1)].intValue *1 + [value substringWithRange:NSMakeRange(8,1)].intValue *6 + [value substringWithRange:NSMakeRange(9,1)].intValue *3;
int Y = S %11;
NSString *M =@"F";
NSString *JYM =@"10X98765432";
M = [JYM substringWithRange:NSMakeRange(Y,1)];// 判斷校驗位
if ([M isEqualToString:[value substringWithRange:NSMakeRange(17,1)]]) {
return YES;// 檢測ID的校驗位
} else {
return NO;
}

} else {
return NO;
}
default:
return false;
}
}

總結(jié)

以上是生活随笔為你收集整理的身份证号验证(省份,生日,末位校验)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩黄色高清视频 | 国产乱妇无码大片在线观看 | 亚洲乱码国产乱码精品天美传媒 | 91福利区 | 日本一区二区精品视频 | 免费性网站| 久久免费视频一区二区 | 求免费黄色网址 | 在线观看中出 | 国产精品久久免费视频 | 亚洲视频天天射 | 国产精品一区二区三区在线播放 | 欧美色拍 | 黄色三级视频在线观看 | 污污视频在线免费观看 | 婷婷的五月天 | 国产乱码精品一区二区三区中文 | 浪浪视频污 | 欧美激情性做爰免费视频 | 日本一区二区三区精品 | 欧美激情视频网站 | 超碰碰碰| 大地资源高清播放在线观看 | 裸体美女免费视频网站 | 欧美人与野 | 日本无遮羞调教打屁股网站 | 丝袜操| 可以看av的网站 | 日韩精品一区二区三区四区五区 | 91激情 | 欧美xxxxav | 激情久久av一区av二区av三区 | 蜜桃av噜噜一区二区三区麻豆 | 中文字幕在线视频日韩 | av三级网 | 欧美男女交配视频 | 国产女同视频 | 丰满岳跪趴高撅肥臀尤物在线观看 | 国产特级片 | 国产综合av| melody在线高清免费观看 | 中文字幕在线免费观看视频 | 亚洲作爱网 | 九九热精品视频在线播放 | 精品96久久久久久中文字幕无 | 国产1区在线 | 在线播放免费av | 免费色网| 麻豆一区二区在线观看 | 国产欧美一区二区三区沐欲 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 97人人视频 | 午夜影院福利 | h色视频在线观看 | 好吊色视频988gao在线观看 | 欧美黄色免费视频 | av青娱乐 | 巨骚综合| 日韩精品中文字幕在线观看 | 69国产成人精品二区 | 成人涩涩 | 日本成人久久 | 伊人久久大香线蕉av色婷婷色 | 日本一二三区不卡 | 99久久久精品 | 五月色婷 | 999精品一区 | 无码人妻aⅴ一区二区三区有奶水 | 特黄aaaaaaaaa真人毛片 | 国产精品福利片 | 黄色av网站免费在线观看 | 精品一区二区三区四区 | 777精品视频 | 一区视频 | 国产精品久久无码一三区 | 懂色av| 欧美色99 | 久久久久久久无码 | 就爱操av | 夜夜视频 | 熟女av一区二区 | jzzijzzij日本成熟少妇 | 国产性猛交xxxⅹ交酡全过程 | 国产伦精品一区二区三区照片 | 欧美三级三级三级爽爽爽 | 四虎国产成人精品免费一女五男 | 美女扒开腿让人桶爽 | 海角社区登录 | 国产看真人毛片爱做a片 | 久久精品一区二区 | 涩涩视频免费在线观看 | 亚洲成av人片一区二区 | 亚洲性xxx| 麻豆传媒在线看 | 欧美一级淫片bbb一84 | 成人动漫h在线观看 | 亚洲美女视频 | 国产福利视频在线观看 | 人人妻人人爽人人澡人人精品 |