Table des matières
php实现用于验证所有类型的信用卡类
Maison php教程 php手册 php实现用于验证所有类型的信用卡类

php实现用于验证所有类型的信用卡类

Jun 13, 2016 am 09:09 AM
php 信用卡 实现 article de 类型 验证

php实现用于验证所有类型的信用卡类

 这篇文章主要介绍了php实现用于验证所有类型的信用卡类,实例分析了信用卡类的实现原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 

 

本文实例讲述了php实现用于验证所有类型的信用卡类。分享给大家供大家参考。具体如下:

这个php类比较完整,可以用于验证各种不同的信用卡,针对信用卡的卡号的通用规则进行了验证,同时对不同类型的信用卡进行了针对性的识别。
代码接受一个信用卡号码和有效日期,如果两者都有效,则返回TRUE,否则返回FALSE。

本插件接受以下参数:
$number 表示信用卡号码的一个字符串
$expiry 信用卡有效日期,采用07/12或0712这样的格式

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

// Plug-in 32: Validate Credit Card

// This is an executable example with additional code supplied

// To obtain just the plug-ins please click on the Download link

$card = "4567 1234 5678 9101";

$exp = "06/11";

echo "Validating: $card : $exp
";

$result = PIPHP_ValidateCC($card, $exp);

if ($result != FALSE) echo "Card Validated";

else echo "Card did not validate";

function PIPHP_ValidateCC($number, $expiry)

{

// Plug-in 32: Validate Credit Card

//

// This plug-in accepts a credit card number and

// an expiry date and returns TRUE or FALSE,

// depending on whether the details pass date

// and checksum validation. The arguments required

// are:

//

// $number: Credit Card Number

// $expiry: Expiry date in the form:

// 07/12 or 0712 (for July, 2012)

$number = preg_replace('/[^\d]/', '', $number);

$expiry = preg_replace('/[^\d]/', '', $expiry);

$left = substr($number, 0, 4);

$cclen = strlen($number);

$chksum = 0;

// Diners Club

if (($left >= 3000) && ($left

($left >= 3600) && ($left

($left >= 3800) && ($left

if ($cclen != 14) return FALSE;

// JCB

if (($left >= 3088) && ($left

($left >= 3096) && ($left

($left >= 3112) && ($left

($left >= 3158) && ($left

($left >= 3337) && ($left

($left >= 3528) && ($left

if ($cclen != 16) return FALSE;

// American Express

elseif (($left >= 3400) && ($left

($left >= 3700) && ($left

if ($cclen != 15) return FALSE;

// Carte Blanche

elseif (($left >= 3890) && ($left

if ($cclen != 14) return FALSE;

// Visa

elseif (($left >= 4000) && ($left

if ($cclen != 13 && $cclen != 16) return FALSE;

// MasterCard

elseif (($left >= 5100) && ($left

if ($cclen != 16) return FALSE;

// Australian BankCard

elseif ($left == 5610)

if ($cclen != 16) return FALSE;

// Discover

elseif ($left == 6011)

if ($cclen != 16) return FALSE;

// Unknown

else return FALSE;

for ($j = 1 - ($cclen % 2); $j

$chksum += substr($number, $j, 1);

for ($j = $cclen % 2; $j

{

$d = substr($number, $j, 1) * 2;

$chksum += $d

}

if ($chksum % 10 != 0) return FALSE;

if (mktime(0, 0, 0, substr($expiry, 0, 2), date("t"),

substr($expiry, 2, 2))

return TRUE;

}

?>

希望本文所述对大家的php程序设计有所帮助。

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

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)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Date et heure de CakePHP

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Configuration du projet CakePHP

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Téléchargement de fichiers CakePHP

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Routage CakePHP

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

Discuter de CakePHP

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

Guide rapide CakePHP

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

See all articles