ホームページ ウェブフロントエンド jsチュートリアル IDカードと銀行カード番号の形式を決定するための規則の書き方

IDカードと銀行カード番号の形式を決定するための規則の書き方

Mar 30, 2018 pm 02:47 PM
フォーマット IDカード

这次给大家带来判断身份证与银行卡号格式的正则怎么写,使用判断身份证与银行卡号格式正则的注意事项有哪些,下面就是实战案例,一起来看一下。

1.有时候我们会用到上传身份证号,或者银行卡号,这个时候就需要我们对身份证号以及银行卡号,进行基本的判断。

下面便是身份证号的判断返回YES是合法,反之不合法

#pragma mark 判断身份证号是否合法
- (BOOL)judgeIdentityStringValid:(NSString *)identityString {
  if (identityString.length != 18) return NO;
  // 正则表达式判断基本 身份证号是否满足格式
  NSString *regex2 = @"^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$";
  NSPredicate *identityStringPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];
  //如果通过该验证,说明身份证格式正确,但准确性还需计算
  if(![identityStringPredicate evaluateWithObject:identityString]) return NO;
  //** 开始进行校验 *//
  //将前17位加权因子保存在数组里
  NSArray *idCardWiArray = @[@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2"];
  //这是除以11后,可能产生的11位余数、验证码,也保存成数组
  NSArray *idCardYArray = @[@"1", @"0", @"10", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2"];
  //用来保存前17位各自乖以加权因子后的总和
  NSInteger idCardWiSum = 0;
  for(int i = 0;i < 17;i++) {
    NSInteger subStrIndex  = [[identityString substringWithRange:NSMakeRange(i, 1)] integerValue];
    NSInteger idCardWiIndex = [[idCardWiArray objectAtIndex:i] integerValue];
    idCardWiSum      += subStrIndex * idCardWiIndex;
  }
  //计算出校验码所在数组的位置
  NSInteger idCardMod=idCardWiSum%11;
  //得到最后一位身份证号码
  NSString *idCardLast= [identityString substringWithRange:NSMakeRange(17, 1)];
  //如果等于2,则说明校验码是10,身份证号码最后一位应该是X
  if(idCardMod==2) {
    if(![idCardLast isEqualToString:@"X"]||[idCardLast isEqualToString:@"x"]) {
      return NO;
    }
  }else{
    //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
    if(![idCardLast isEqualToString: [idCardYArray objectAtIndex:idCardMod]]) {
      return NO;
    }
  }
  return YES;
}
ログイン後にコピー

在接下来便是银行卡号的的判断返回YES或者是真是合法,反之不合法

#pragma mark 判断银行卡号是否合法
-(BOOL)isBankCard:(NSString *)cardNumber{
  if(cardNumber.length==0){
    return NO;
  }
  NSString *digitsOnly = @"";
  char c;
  for (int i = 0; i < cardNumber.length; i++){
    c = [cardNumber characterAtIndex:i];
    if (isdigit(c)){
      digitsOnly =[digitsOnly stringByAppendingFormat:@"%c",c];
    }
  }
  int sum = 0;
  int digit = 0;
  int addend = 0;
  BOOL timesTwo = false;
  for (NSInteger i = digitsOnly.length - 1; i >= 0; i--){
    digit = [digitsOnly characterAtIndex:i] - '0';
    if (timesTwo){
      addend = digit * 2;
      if (addend > 9) {
        addend -= 9;
      }
    }
    else {
      addend = digit;
    }
    sum += addend;
    timesTwo = !timesTwo;
  }
  int modulus = sum % 10;
  return modulus == 0;
}
ログイン後にコピー

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

正则的数字验证详解(附代码)

JS正则表达式验证数字的实战归纳

以上がIDカードと銀行カード番号の形式を決定するための規則の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

qq メールボックス形式の記述方法 qq メールボックス形式とは何ですか? qq メールボックス形式の記述方法 qq メールボックス形式とは何ですか? Feb 22, 2024 pm 03:40 PM

QQメール:QQnumber@qq.com、英語QQメール:英語またはnumbers@qq.com、foxmailメールアカウント:独自のアカウントを設定@foxmail.com、携帯電話メールアカウント:携帯電話番号@qq.com。チュートリアル 適用モデル: iPhone13 システム: IOS15.3 バージョン: QQ メールボックス 6.3.3 分析 1QQ メールボックスには 4 つの形式があり、一般的に使用される QQ メールボックス: QQ number@qq.com、英語 QQ メールボックス: 英語またはnumbers@qq.com、foxmail 電子メールアカウント:自分のアカウント@foxmail.com、携帯電話の電子メールアカウント:携帯電話番号@qq.comを設定します。補足: qq メールボックスとは何ですか? 1 最も初期の QQ メールボックスは QQ ユーザー間のみでした

Apple Notes でブロック引用符を使用する方法 Apple Notes でブロック引用符を使用する方法 Oct 12, 2023 pm 11:49 PM

iOS 17 と macOS Sonoma で、Apple は、ブロック引用符や新しい Monostyle スタイルなど、Apple Notes の新しい書式設定オプションを追加しました。それらの使用方法は次のとおりです。 Apple Notes の追加の書式設定オプションを使用して、メモにブロック引用符を追加できるようになりました。ブロック引用形式を使用すると、テキストの左側にある引用バーを使用して、文章のセクションを視覚的に簡単にオフセットできます。 「Aa」形式ボタンをタップ/クリックして、入力する前、またはブロック引用符に変換したい行の途中でブロック引用符オプションを選択するだけです。このオプションは、すべてのテキスト タイプ、スタイル オプション、およびチェックリストを含むリストに適用されます。同じ [形式] メニューに、新しい [単一スタイル] オプションがあります。これは以前の「等幅」の改訂版です。

インクのファイル形式は何ですか? インクのファイル形式は何ですか? Feb 03, 2023 pm 02:32 PM

ink はショートカットのファイル形式です。ショートカットは機能的にはシンボリック リンクと似ていますが、本質的にシンボリック リンクとは異なります。ショートカットはシンボルではなく通常のファイルであり、その拡張子は " .lnk" なので、ショートカットをコピー、移動、変更、または削除できます。ショートカットは、ファイル、フォルダー、またはシステム内のその他の正当な場所を指すことができます。

1 つの ID カードで複数のタオバオ ストアを開くことができます 1 つの ID カードで複数のタオバオ ストアを開くことができます Oct 10, 2023 pm 01:51 PM

ID カードで開設できる淘宝網の店舗は 1 つだけです。販売者は淘宝網の規定を遵守し、他人の ID カードを使用して複数の店舗を開設しないでください。販売者は店舗を統合したり支店を開設したりすることで事業を拡大し、売上を増やすことができます。ただし、実名認証には各支店ごとに独自のIDカードを使用する必要があるので注意が必要です。

pptmの形式は何ですか? pptmの形式は何ですか? Jan 11, 2021 pm 02:46 PM

pptm は、Office オフィススイートの PowerPoint のファイル形式で、正式名称は「マクロ有効 PowerPoint プレゼンテーション」です。 pptmファイルはバージョン2007以降のオフィスソフトでのみ開くことができ、それ以外のバージョンのソフトで開くと編集できない、画像が不完全になるなどの問題が発生します。

m3u8とはどのような形式ですか? m3u8とはどのような形式ですか? Feb 20, 2023 pm 01:38 PM

m3u8 は UTF-8 エンコード形式です。 M3U8 は、UTF-8 でエンコードされた M3U ファイルを指します。M3U ファイルには、インデックス プレーン テキスト ファイルが記録されています。これを開くと、再生ソフトウェアはファイルを再生しませんが、そのファイルに基づいて、対応するオーディオ ファイルとビデオ ファイルのネットワーク アドレスを見つけます。オンライン処理のインデックス。プレイ。 M3U8 は、主にファイル リストの形式で存在する一般的なストリーミング メディア形式です。ライブ ブロードキャストとオンデマンド再生の両方をサポートしており、特に Android や iOS などのプラットフォームでよく使用されます。

cr3 とはどのような形式のファイルですか? cr3 とはどのような形式のファイルですか? Jun 23, 2021 pm 03:22 PM

CR3 ファイルは、Digic8 画像プロセッサを使用してキヤノンの新しいカメラで記録されたオリジナルの RAW ファイルです。 cr3ファイルは、RAW画像に対して「RAW現像」などの画像調整を行うためのソフトウェアであるCanon ddpで開くことができます。

rtfとは何の形式ですか rtfとは何の形式ですか Jan 30, 2023 pm 02:35 PM

RTF の正式名称は「リッチ テキスト フォーマット」で、中国語で「リッチ テキスト形式」または「複数のテキスト形式」を意味します。Microsoft が開発したクロスプラットフォームの文書形式で、Word で保存できる文書形式です。他のワープロソフトとの互換性を持たせるため、DOC形式(Word文書)に似たファイルであり、互換性が良好です。一般ユーザーにとって、RTF 形式は、書式設定されたテキスト ドキュメントを異なるアプリケーション間で転送するための優れたファイル形式変換ツールです。

See all articles