Maison interface Web js tutoriel Méthode pour déterminer si le numéro de carte bancaire saisi par l'utilisateur est correct_regular expression

Méthode pour déterminer si le numéro de carte bancaire saisi par l'utilisateur est correct_regular expression

Jun 28, 2017 pm 01:39 PM
输入 银行

L'éditeur suivant vous apportera une méthode pour déterminer si le numéro de carte bancaire saisi par l'utilisateur est correct (vérification du format basée sur l'algorithme de Luhn). L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un oeil

En cours de développement, parfois, afin de créer une meilleure expérience utilisateur et réduire la pression côté serveur, il est nécessaire d'en formater certains comme les numéros de téléphone portable, carte bancaire numéros et numéros d'identification

Voici le code permettant de déterminer si la saisie du numéro de carte bancaire est correcte (vérification du format basée sur l'algorithme de Luhn) :

iOS. code :

/**

 * 银行卡格式校验

 *

 * @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;

}
Copier après la connexion

Code Androd :

/**

 

 * 匹配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;

 

}
Copier après la connexion

Pièce jointe (banque formatage du numéro de carte) :

Lors de la saisie du numéro de carte bancaire, généralement, on insérera un "-" tous les 4 chiffres, un format similaire à "1332-2131-2313-1231- 212"
peut être passé. La méthode suivante est implémentée :

Définir le proxy de 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;

}
Copier après la connexion

Enfin, comment obtenir le symbole non contenant "- "Où est ton numéro de carte bancaire ?"

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Désactivation du guide d'expérience d'entrée Win11 Désactivation du guide d'expérience d'entrée Win11 Dec 27, 2023 am 11:07 AM

Récemment, de nombreux utilisateurs de Win11 ont rencontré le problème selon lequel la boîte de dialogue d'expérience de saisie scintille toujours et ne peut pas être désactivée. Cela est en fait dû aux services système et aux composants par défaut de Win11. Nous devons d'abord désactiver les services concernés, puis désactiver ceux-ci. service d’expérience de saisie. Résolu, essayons-le ensemble. Comment désactiver l'expérience de saisie dans Win11 : Première étape, cliquez avec le bouton droit sur le menu Démarrer et ouvrez « Gestionnaire des tâches ». Deuxième étape, recherchez les trois processus « CTF Loader », « MicrosoftIME » et « Service Host : Textinput Management Service ». dans l'ordre, faites un clic droit sur "Fin de tâche" "La troisième étape, ouvrez le menu Démarrer, recherchez et ouvrez "Services" en haut. La quatrième étape, recherchez "Textinp" dedans

L'entrée Windows rencontre un blocage ou une utilisation élevée de la mémoire [Réparer] L'entrée Windows rencontre un blocage ou une utilisation élevée de la mémoire [Réparer] Feb 19, 2024 pm 10:48 PM

L'expérience de saisie Windows est un service système clé chargé de traiter les entrées utilisateur provenant de divers périphériques d'interface humaine. Il démarre automatiquement au démarrage du système et s'exécute en arrière-plan. Cependant, ce service peut parfois se bloquer automatiquement ou occuper trop de mémoire, ce qui entraîne une réduction des performances du système. Il est donc crucial de surveiller et de gérer ce processus en temps opportun pour garantir l’efficacité et la stabilité du système. Dans cet article, nous expliquerons comment résoudre les problèmes de blocage de l'expérience de saisie Windows ou entraînant une utilisation élevée de la mémoire. Le service Windows Input Experience n'a pas d'interface utilisateur, mais il est étroitement lié à la gestion des tâches système de base et des fonctions liées aux périphériques d'entrée. Son rôle est d'aider le système Windows à comprendre chaque entrée saisie par l'utilisateur.

Résoudre le problème de saisie de la barre de recherche Win11 Résoudre le problème de saisie de la barre de recherche Win11 Dec 26, 2023 pm 12:07 PM

La barre de recherche est une fonction très utile du système win11, qui peut nous aider à trouver les paramètres, fonctions et services que nous souhaitons. Cependant, certains amis ont rencontré la situation dans laquelle la barre de recherche win11 ne peut pas être saisie. Nous pouvons modifier les données pertinentes dans le registre pour résoudre le problème. Suivons l'éditeur pour le résoudre. Que faire si la barre de recherche Win11 ne peut pas être saisie 1. Tout d'abord, nous pouvons appuyer sur "win+r" sur le clavier pour afficher Run. 2. Entrez ensuite « regedit » et appuyez sur Entrée pour ouvrir l'éditeur de registre. 3. Saisissez ensuite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Expl dans le chemin ci-dessus

Comment saisir une matrice de mots Comment saisir une matrice de mots Mar 19, 2024 pm 11:00 PM

La matrice est une formule que nous utilisons et rencontrons souvent, mais savez-vous comment saisir une matrice sous forme de mot ? De nombreuses personnes n'y ont peut-être jamais été exposées et se sentiront confuses lorsqu'elles l'utiliseront. Nous allons donc partager ici avec vous comment saisir le mot matrice. J'espère que partager cette technique pourra vous apporter aide et inspiration. 1. Tout d’abord, créez et ouvrez un document Word Afin de démontrer l’opération, nous utiliserons un document vierge pour la démonstration. Comme le montre la figure ci-dessous : 2. Si nous voulons saisir une matrice, nous devons trouver le bouton [Insérer] dans la barre de menu. Ce bouton peut insérer de nombreuses options de contenu, telles que des images, etc., le tout à partir de ce menu. bar. 3. Après avoir cliqué sur [Insérer], regardez sur le côté droit des options de notre outil et vous pouvez trouver [Formule], puis cliquez sur [

Programme C pour saisir un tableau de séquences d'entiers séparés par des espaces Programme C pour saisir un tableau de séquences d'entiers séparés par des espaces Aug 25, 2023 am 11:33 AM

Énoncé du problème Écrivez un programme C qui prend des entiers séparés par des espaces comme entrée de tableau. SampleExamples entrée 12345 sortie 'Arrayelementsare-'1,2,3,4,5La traduction chinoise de l'explication est la suivante : L'entrée d'explication contient 5 entiers séparés par des espaces. Entrée 997687542356878967343423 Sortie 'Arrayelementsare-'99,76,87,54,23,56,878,967,34,34,23 La traduction chinoise d'Explication est : Explication L'entrée contient 11 entiers séparés par des espaces. Méthode 1 Dans cette méthode, nous remplacerons l'entrée par du vide

Notes et exemples : Comment saisir correctement des nombres à virgule flottante en Python Notes et exemples : Comment saisir correctement des nombres à virgule flottante en Python Feb 02, 2024 pm 06:34 PM

Notes et exemples d'entrée à virgule flottante Python En Python, les nombres à virgule flottante sont un type de données courant utilisé pour représenter des valeurs avec des parties décimales. Lors de la saisie en virgule flottante, nous devons connaître certaines choses et y prêter attention pour garantir l'exactitude et la précision de la saisie. Cet article présentera plusieurs considérations courantes et fournira un exemple de code pour approfondir la compréhension. Méthodes de saisie à virgule flottante En Python, il existe de nombreuses méthodes de saisie à virgule flottante. Les plus courantes sont les suivantes : Utilisez des nombres à virgule flottante directement pour la saisie : par exemple : x.

Guide pratique PHP : Comment déterminer si l'entrée contient uniquement des chiffres et des lettres Guide pratique PHP : Comment déterminer si l'entrée contient uniquement des chiffres et des lettres Mar 28, 2024 pm 03:06 PM

En programmation PHP, nous devons parfois limiter les données saisies par l'utilisateur, par exemple déterminer si l'entrée contient uniquement des chiffres et des lettres. Ceci est souvent rencontré dans le développement de projets réels, il est donc très important de maîtriser comment implémenter cette fonction. Cet article explique comment utiliser PHP pour déterminer que l'entrée ne contient que des chiffres et des lettres, et donne des exemples de code spécifiques. Pourquoi devons-nous déterminer que l’entrée ne contient que des chiffres et des lettres ? Lors du développement de sites Web, les données saisies par l'utilisateur peuvent être utilisées pour des fonctions importantes telles que les opérations de base de données et les opérations sur les fichiers si les données saisies par l'utilisateur contiennent des éléments spéciaux.

La banque centrale de Corée du Sud prévoit de lancer un projet pilote de monnaie numérique l'année prochaine, impliquant 100 000 citoyens. La banque centrale de Corée du Sud prévoit de lancer un projet pilote de monnaie numérique l'année prochaine, impliquant 100 000 citoyens. Dec 02, 2023 am 09:25 AM

Selon des informations publiées sur ce site Web le 2 décembre, au lendemain de la visite à Séoul du directeur général de la Banque des règlements internationaux, Agustín Carstens, la Banque de Corée (BOK) a annoncé les détails du plan pilote de monnaie numérique (CBDC), déclarant qu'il y aurait 10 dix dollars. Des milliers de citoyens sud-coréens sélectionnés rejoindront le projet pilote au quatrième trimestre de l'année prochaine. Ce site Web a remarqué que les participants peuvent utiliser les CBDC émises par les banques commerciales pour acheter des biens. La Banque de Corée, la Commission des services financiers et le Service de surveillance financière prévoient de proposer des tâches pilotes conjointes pour les banques participant au test et de séparer les tâches distinctes pour chaque banque après avoir consulté les organisations concernées et examiné les lois pertinentes. La banque centrale a déclaré que les monnaies numériques pourraient résoudre les problèmes des systèmes de bons d’achat existants, tels que ceux utilisés pendant la pandémie de COVID-19 ou le système gouvernemental d’allocations pour la garde d’enfants. Source

See all articles