欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS判斷身份證號碼是否正確的方法

 更新時間:2017年02月13日 15:18:24   作者:iOS王曉暉  
本篇文章主要介紹了iOS判斷身份證號碼是否正確的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

①根據(jù)百度百科中身份證號碼的標準實現(xiàn)該方法

②該方法只能判斷18位身份證,且不能判斷身份證號碼和姓名是否對應(yīng)(要看姓名和號碼是否對應(yīng),應(yīng)該有大量的數(shù)據(jù)庫做對比才能實現(xiàn))

③直接copy這段代碼,就能通過調(diào)用這個方法判斷身份證號碼是否符合標準,非常easy

/**
 * 驗證身份證號碼是否正確的方法
 *
 * @param IDNumber 傳進身份證號碼字符串
 *
 * @return 返回YES或NO表示該身份證號碼是否符合國家標準
 */
- (BOOL)isCorrect:(NSString *)IDNumber
{
  NSMutableArray *IDArray = [NSMutableArray array];
  // 遍歷身份證字符串,存入數(shù)組中
  for (int i = 0; i < 18; i++) {
    NSRange range = NSMakeRange(i, 1);
    NSString *subString = [IDNumber substringWithRange:range];
    [IDArray addObject:subString];
  }
  // 系數(shù)數(shù)組
  NSArray *coefficientArray = [NSArray arrayWithObjects:@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2", nil];
  // 余數(shù)數(shù)組
  NSArray *remainderArray = [NSArray arrayWithObjects:@"1", @"0", @"X", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2", nil];
  // 每一位身份證號碼和對應(yīng)系數(shù)相乘之后相加所得的和
  int sum = 0;
  for (int i = 0; i < 17; i++) {
    int coefficient = [coefficientArray[i] intValue];
    int ID = [IDArray[i] intValue];
    sum += coefficient * ID;
  }
  // 這個和除以11的余數(shù)對應(yīng)的數(shù)
  NSString *str = remainderArray[(sum % 11)];
  // 身份證號碼最后一位
  NSString *string = [IDNumber substringFromIndex:17];
  // 如果這個數(shù)字和身份證最后一位相同,則符合國家標準,返回YES
  if ([str isEqualToString:string]) {
    return YES;
  } else {
    return NO;
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 全面解析iOS應(yīng)用中自定義UITableViewCell的方法

    全面解析iOS應(yīng)用中自定義UITableViewCell的方法

    這篇文章主要介紹了iOS應(yīng)用開發(fā)中自定義UITableViewCell的方法,示例為傳統(tǒng)的Obejective-C語言,需要的朋友可以參考下
    2016-04-04
  • IOS 中 new 和 alloc init 的對比

    IOS 中 new 和 alloc init 的對比

    這篇文章主要介紹了IOS 中 new 和 alloc init 的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 分享一些iOS開發(fā)實用的小技巧

    分享一些iOS開發(fā)實用的小技巧

    這篇文章主要給大家分享了一些iOS開發(fā)實用的小技巧,這些小技巧在大家開發(fā)iOS的時候還是相當實用,有需要的朋友們下面來一起看看吧。
    2016-09-09
  • 詳解IOS圖層轉(zhuǎn)場動畫

    詳解IOS圖層轉(zhuǎn)場動畫

    這篇文章主要為大家詳細介紹了IOS圖層轉(zhuǎn)場動畫, CATransition類實現(xiàn)層的轉(zhuǎn)場動畫,能夠為層提供移出屏幕和移入屏幕的動畫效果,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 詳解IOS11新特性之larget title的實現(xiàn)

    詳解IOS11新特性之larget title的實現(xiàn)

    本篇文章主要介紹了詳解IOS11新特性之larget title的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • IOS中對Url進行編碼和解碼示例

    IOS中對Url進行編碼和解碼示例

    本篇文章主要介紹了IOS中對Url進行編碼和解碼示例,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • iOS使用Target如何快速科學(xué)的區(qū)分開發(fā)環(huán)境詳解

    iOS使用Target如何快速科學(xué)的區(qū)分開發(fā)環(huán)境詳解

    這篇文章主要給大家介紹了關(guān)于iOS使用Target如何快速科學(xué)的區(qū)分開發(fā)環(huán)境的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • iOS開發(fā)之Quartz2D的介紹與使用詳解

    iOS開發(fā)之Quartz2D的介紹與使用詳解

    什么是Quartz2D?Quartz 2D是一個二維繪圖引擎,同時支持iOS和Mac系統(tǒng)。下面這篇文章主要介紹了iOS開發(fā)之Quartz2D的介紹與使用的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • iOS利用CoreImage實現(xiàn)人臉識別詳解

    iOS利用CoreImage實現(xiàn)人臉識別詳解

    OS的人臉識別從iOS 5(2011)就有了,不過一直沒怎么被關(guān)注過。人臉識別API允許開發(fā)者不僅可以檢測人臉,也可以檢測到面部的一些特殊屬性,比如說微笑或眨眼。下面這篇文章主要給大家介紹了iOS利用CoreImage實現(xiàn)人臉識別的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05
  • iOS基于UITableView實現(xiàn)多層展開與收起

    iOS基于UITableView實現(xiàn)多層展開與收起

    這篇文章主要為大家詳細介紹了iOS基于UITableView實現(xiàn)多層展開與收起的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論