Maison >développement back-end >tutoriel php >Comment vérifier la validité des numéros de carte bancaire à l'aide d'expressions régulières en PHP

Comment vérifier la validité des numéros de carte bancaire à l'aide d'expressions régulières en PHP

王林
王林original
2023-06-24 10:33:241313parcourir

Avec l'utilisation fréquente des cartes bancaires dans la vie quotidienne des gens, la validité des numéros de cartes bancaires est devenue un enjeu important. Pour garantir la sécurité du paiement, la validité du numéro de carte bancaire doit être vérifiée. Cet article présentera comment utiliser les expressions régulières en PHP pour vérifier la validité des numéros de carte bancaire.

1. La structure des numéros de carte bancaire

Avant d'introduire formellement comment utiliser les expressions régulières pour vérifier la validité des numéros de carte bancaire, il faut d'abord comprendre la structure des numéros de carte bancaire. De manière générale, un numéro de carte bancaire se compose des éléments suivants :

1. Code de la banque émettrice de la carte : Le code de la banque émettrice de la carte est généralement composé de 6 chiffres et permet d'identifier l'établissement émetteur de la carte bancaire.

2. Identifiant du compte : L'identifiant du compte se compose généralement de 1 à 19 chiffres et est utilisé pour identifier le caractère unique du compte de la carte bancaire.

3. Code de vérification : Le code de vérification est généralement composé de 1 chiffre et sert à vérifier la validité du numéro de carte bancaire.

2. Utiliser des expressions régulières pour vérifier la validité des numéros de carte bancaire

Après avoir compris la structure des numéros de carte bancaire, nous pouvons utiliser des expressions régulières pour vérifier la validité des numéros de carte bancaire. La méthode de vérification spécifique est la suivante :

1. Utilisez des expressions régulières pour faire correspondre les numéros de carte bancaire.

Les numéros de carte bancaire sont généralement composés de 16 à 19 chiffres, nous pouvons donc utiliser l'expression régulière suivante pour correspondre :

/^[1-9]d{15,18}$/

La signification de cette expression régulière Oui : En commençant par les chiffres de 1 à 9, suivis de 15 à 18 chiffres, la chaîne entière doit correspondre à l'expression entière.

2. Calculez si le numéro de carte bancaire est valide grâce au chiffre de contrôle.

Le chiffre de contrôle du numéro de carte bancaire peut être calculé par l'algorithme de Luhn. La méthode de calcul spécifique est la suivante :

(1) Multipliez chaque chiffre par deux de droite à gauche.

(2) Ajoutez les chiffres des unités et des dizaines des nombres dont le produit est supérieur à 9 pour obtenir un nouveau nombre.

(3) Additionnez tous les nombres pour obtenir une somme.

(4) Si la somme est divisible par 10, le numéro de carte bancaire est valide, sinon il est invalide.

Ce qui suit est un exemple d'utilisation du code PHP pour implémenter la vérification du numéro de carte bancaire :

function validate_bank_card($bank_card_number) {

if(!preg_match('/^[1-9]d{15,18}$/',$bank_card_number)) {
    return false;
}
$arr_card_number = str_split(strrev($bank_card_number));
$last_number_is_odd = false;
$total = 0;
foreach ($arr_card_number as $key => $value) {
    $num = intval($value);
    if ($last_number_is_odd) {
        $num *= 2;
        $num %= 10;
        $total += $num;
        $last_number_is_odd = false;
    } else {
        $total += $num;
        $last_number_is_odd = true;
    }
}
return ($total % 10) == 0;

}

Le code ci-dessus renverra une valeur booléenne, si le numéro de carte bancaire est valide, il retournera vrai, sinon retournera faux.

3. Résumé

Ce qui précède est une introduction détaillée sur la façon d'utiliser les expressions régulières pour vérifier la validité des numéros de carte bancaire en PHP. La vérification de la validité des numéros de carte bancaire est l'une des mesures importantes pour la sécurité des paiements, cette question est donc très importante. L'utilisation d'expressions régulières pour vérifier la validité des numéros de carte bancaire est une méthode très simple, rapide et fiable, et devrait être largement utilisée lors du développement de sites Web ou d'applications liés au paiement.

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:
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