ホームページ ウェブフロントエンド jsチュートリアル ユーザーが入力したキャッシュカード番号が正しいかどうかを判定する方法_正規表現

ユーザーが入力したキャッシュカード番号が正しいかどうかを判定する方法_正規表現

Jun 28, 2017 pm 01:39 PM
入力 銀行

以下のエディターは、ユーザーが入力した銀行カード番号が正しいかどうかを判断する方法を提供します (Luhn アルゴリズムに基づく形式検証)。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見てみましょう

開発中、より良いユーザーエクスペリエンスを作成し、サーバー側の負荷を軽減するために、携帯電話番号、銀行カード番号などの一部でフォーマット検証を実行する必要がある場合があります。 、ID 番号

以下は、銀行カード番号の入力が正しいかどうかを判断するコードです (Luhn アルゴリズムに基づく形式検証):

iOS コード:

/**

 * 银行卡格式校验

 *

 * @param cardNo 银行卡号

 *

 * @return 

 */

+ (BOOL) checkCardNo:(NSString*) cardNo{

  

  

  int oddsum = 0;   //奇数求和

  int evensum = 0;  //偶数求和

  int allsum = 0;

  int cardNoLength = (int)[cardNo length];

  int lastNum = [[cardNo substringFromIndex:cardNoLength-1] intValue];

  

  cardNo = [cardNo substringToIndex:cardNoLength - 1];

  for (int i = cardNoLength -1 ; i>=1;i--) {

    NSString *tmpString = [cardNo substringWithRange:NSMakeRange(i-1, 1)];

    int tmpVal = [tmpString intValue];

    if (cardNoLength % 2 ==1 ) {

      if((i % 2) == 0){

        tmpVal *= 2;

        if(tmpVal>=10)

          tmpVal -= 9;

        evensum += tmpVal;

      }else{

        oddsum += tmpVal;

      }

    }else{

      if((i % 2) == 1){

        tmpVal *= 2;

        if(tmpVal>=10)

          tmpVal -= 9;

        evensum += tmpVal;

      }else{

        oddsum += tmpVal;

      }

    }

  }

  

  allsum = oddsum + evensum;

  allsum += lastNum;

  if((allsum % 10) == 0)

    return YES;

  else

    return NO;

}
ログイン後にコピー

Android コード:

/**

 

 * 匹配Luhn算法:可用于检测银行卡卡号

 

 * @param cardNo

 

 * @return

 

 */

 

public static boolean matchLuhn(String cardNo) {

 

  int[] cardNoArr = new int[cardNo.length()];

 

  for (int i=0; i<cardNo.length(); i++) {

 

    cardNoArr[i] = Integer.valueOf(String.valueOf(cardNo.charAt(i)));

 

  }

 

  for(int i=cardNoArr.length-2;i>=0;i-=2) {

 

    cardNoArr[i] <<= 1;

 

    cardNoArr[i] = cardNoArr[i]/10 + cardNoArr[i]%10;

 

  }

 

  int sum = 0;

 

  for(int i=0;i<cardNoArr.length;i++) {

 

    sum += cardNoArr[i];

 

  }

 

  return sum % 10 == 0;

 

}
ログイン後にコピー

添付 (銀行カード番号の形式):

銀行カード番号を入力するとき、通常、「1332-2131-2313-1231」のような形式で、4 桁ごとに「-」を挿入します。 -212"
は、次の方法で実現できます:

textFieldのプロキシを設定します

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

{

  NSString *text = [textField text];

  NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789\b"];

  string = [string stringByReplacingOccurrencesOfString:@"-" withString:@""];

  if ([string rangeOfCharacterFromSet:[characterSet invertedSet]].location != NSNotFound) {

    return NO;

  }

  

  text = [text stringByReplacingCharactersInRange:range withString:string];

  text = [text stringByReplacingOccurrencesOfString:@"-" withString:@""];

  

  NSString *newString = @"";

  while (text.length > 0) {

    NSString *subString = [text substringToIndex:MIN(text.length, 4)];

    newString = [newString stringByAppendingString:subString];

    if (subString.length == 4) {

      newString = [newString stringByAppendingString:@"-"];

    }

    text = [text substringFromIndex:MIN(text.length, 4)];

  }

  

  newString = [newString stringByTrimmingCharactersInSet:[characterSet invertedSet]];

  

  if (newString.length >= 24) {

    return NO;

  }

  

  [textField setText:newString];

  

  return NO;

}
ログイン後にコピー

最後に、記号「-」を含まない銀行カード番号を取得する方法は?

[self.textField.text stringByReplacingOccurrencesOfString:@"-" withString:@""]

以上がユーザーが入力したキャッシュカード番号が正しいかどうかを判定する方法_正規表現の詳細内容です。詳細については、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)

Win11 入力エクスペリエンスの無効化ガイド Win11 入力エクスペリエンスの無効化ガイド Dec 27, 2023 am 11:07 AM

最近、多くの Win11 ユーザーは、入力エクスペリエンス ダイアログ ボックスが常にちらつき、オフにできないという問題に遭遇しています。これは実際には、Win11 のデフォルトのシステム サービスとコンポーネントが原因です。最初に関連するサービスを無効にしてから、入力体験サービス. 解決しましたので、一緒に試してみましょう。 win11で入力エクスペリエンスをオフにする方法: 最初のステップ, スタートメニューを右クリックして「タスクマネージャー」を開きます. 2番目のステップ, 「CTF Loader」、「MicrosoftIME」、および「Service Host: Textinput Management Service」の3つのプロセスを見つけます順番に、「タスクの終了」を右クリックします。「3番目のステップ、スタートメニューを開き、上部にある「サービス」を検索して開きます。4番目のステップ、その中で「Textinp」を見つけます

Windows 入力でハングまたはメモリ使用量の増加が発生する [修正] Windows 入力でハングまたはメモリ使用量の増加が発生する [修正] Feb 19, 2024 pm 10:48 PM

Windows 入力エクスペリエンスは、さまざまなヒューマン インターフェイス デバイスからのユーザー入力を処理する重要なシステム サービスです。システム起動時に自動的に起動し、バックグラウンドで実行されます。ただし、場合によっては、このサービスが自動的にハングしたり、メモリを過剰に占有したりして、システムのパフォーマンスが低下することがあります。したがって、システムの効率と安定性を確保するには、このプロセスをタイムリーに監視および管理することが重要です。この記事では、Windows の入力エクスペリエンスがハングしたり、メモリ使用量が高くなる問題を修正する方法を紹介します。 Windows 入力エクスペリエンス サービスにはユーザー インターフェイスがありませんが、基本的なシステム タスクと入力デバイスに関連する機能の処理に密接に関連しています。その役割は、Windows システムがユーザーによって入力されたすべての入力を理解できるようにすることです。

win11の検索バーの入力問題を解決する win11の検索バーの入力問題を解決する Dec 26, 2023 pm 12:07 PM

検索バーは win11 システムの非常に便利な機能で、必要な設定、機能、サービスを見つけるのに役立ちます。しかし、一部の友人は Win11 の検索バーに入力できない状況に遭遇しました。レジストリ内の関連データを変更することで問題を解決できます。エディターに従って問題を解決しましょう。 win11 の検索バーに入力できない場合の対処方法 1. まず、キーボードの「win+r」を押して「ファイル名を指定して実行」を表示します。 2. 次に「regedit」と入力し、Enter キーを押してレジストリ エディタを開きます。 3. 次に、上記のパスに「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Expl」と入力します。

単語行列の入力方法 単語行列の入力方法 Mar 19, 2024 pm 11:00 PM

行列はよく目にする数式ですが、ワードで行列を入力する方法をご存知ですか?多くの人はこれに接したことがなく、使用するときに混乱するかもしれません。そこで、ここでは単語マトリックスを入力する方法を説明します。このテクニックを共有することで、あなたに助けとインスピレーションがもたらされることを願っています。 1. まず、Word 文書を作成して開きます 操作をデモンストレーションするために、デモンストレーション用の空の文書を使用します。下の図に示すように: 2. マトリックスを入力したい場合は、メニュー バーの [挿入] ボタンを見つける必要があります. このボタンは、画像などの多くのコンテンツ オプションをすべてこのメニューから挿入できます。バー。 3. [挿入]をクリックした後、ツールオプションの右側に[数式]があるので、[

スペースで区切られた整数のシーケンスの配列を入力する C プログラム スペースで区切られた整数のシーケンスの配列を入力する C プログラム Aug 25, 2023 am 11:33 AM

問題文 スペース区切りの整数を配列入力として受け取る C プログラムを作成してください。サンプル例 入力 12345 出力 'Arrayelementsare-'1,2,3,4,5説明の中国語訳は次のとおりです。説明の入力には、スペースで区切られた 5 つの整数が含まれています。入力 997687542356878967343423 出力 'Arrayelementsare-'99,76,87,54,23,56,878,967,34,34,23 説明の中国語訳は次のとおりです。 説明 入力には、スペースで区切られた 11 個の整数が含まれています。方法 1 この方法では、入力を空に置き換えます。

注意と例: Python で浮動小数点数を正しく入力する方法 注意と例: Python で浮動小数点数を正しく入力する方法 Feb 02, 2024 pm 06:34 PM

Python 浮動小数点入力の注意点と例 Python では、浮動小数点数は、小数部分を含む値を表すために使用される一般的なデータ型です。浮動小数点入力を行う場合、入力の正確性と精度を確保するために知っておくべきこと、注意しなければならないことがいくつかあります。この記事では、いくつかの一般的な考慮事項を紹介し、理解を深めるためのサンプル コードを示します。浮動小数点入力メソッド Python には多くの浮動小数点入力メソッドがあり、一般的なものは次のとおりです: 入力に浮動小数点数を直接使用します: 例: x

PHP 実践ガイド: 入力に数字と文字のみが含まれているかどうかを確認する方法 PHP 実践ガイド: 入力に数字と文字のみが含まれているかどうかを確認する方法 Mar 28, 2024 pm 03:06 PM

PHP プログラミングでは、入力に数字と文字のみが含まれているかどうかを判断するなど、ユーザーによるデータ入力を制限する必要がある場合があります。実際のプロジェクト開発ではよくあることなので、この機能の実装方法をマスターすることが非常に重要です。この記事では、PHP を使用して入力に数字と文字のみが含まれていることを判断する方法と、具体的なコード例を紹介します。入力に数字と文字のみが含まれていると判断する必要があるのはなぜですか?ウェブサイト開発において、ユーザーが入力したデータは、データベース操作やファイル操作などの重要な機能に使用される場合があります。

韓国銀行は来年、国民10万人が参加するデジタル通貨の試験運用を開始する計画だ 韓国銀行は来年、国民10万人が参加するデジタル通貨の試験運用を開始する計画だ Dec 02, 2023 am 09:25 AM

このサイトのニュースによると、国際決済銀行ゼネラルマネージャーのアグスティン・カルステンス氏がソウルを訪問した翌日の12月2日、韓国銀行(BOK)はデジタル通貨(CBDC)の実験計画の詳細を発表し、10の仮想通貨(CBDC)が存在すると述べた。選ばれた韓国国民千人が来年第4四半期に試験的に参加する予定だ。このウェブサイトは、参加者が商品を購入するために商業銀行が発行したCBDCを使用できることに気づきました。韓国銀行、金融委員会、金融監督院は、関係機関との協議や関連法律の検討を経て、テストに参加する銀行に共同実験業務を提案し、各銀行に個別の業務を提案する予定だ。中銀は、デジタル通貨は新型コロナウイルス感染症流行下で使用される既存のバウチャーシステムや政府の保育助成金システムなどの問題を解決できる可能性があると述べた。ソース

See all articles