php实现通用的信用卡验证类_.docx

上传人:啊飒飒 文档编号:11644682 上传时间:2021-08-27 格式:DOCX 页数:14 大小:15.34KB
返回 下载 相关 举报
php实现通用的信用卡验证类_.docx_第1页
第1页 / 共14页
php实现通用的信用卡验证类_.docx_第2页
第2页 / 共14页
php实现通用的信用卡验证类_.docx_第3页
第3页 / 共14页
php实现通用的信用卡验证类_.docx_第4页
第4页 / 共14页
php实现通用的信用卡验证类_.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《php实现通用的信用卡验证类_.docx》由会员分享,可在线阅读,更多相关《php实现通用的信用卡验证类_.docx(14页珍藏版)》请在三一文库上搜索。

1、php实现通用的信用卡验证类_ 这篇文章主要介绍了php实现通用的信用卡验证类,涉及信用卡的规章与php字符串操作的相关技巧,具有肯定参考借鉴价值,文中有英文原文说明说明,有助于更直观的了解源码相关信息,需要的伴侣可以参考下 本文实例讲解并描述了php实现通用的信用卡验证类。分享给大家供大家参考。 原文说明如下: Credit Card Validation Solution (PHP Edition) Version 3.5 Description Credit Card Validation Solution uses a four step process to ensure credi

2、t card numbers are keyed in correctly. This procedure accurately checks cards from American Express, Australian BankCard, Carte Blache, Diners Club, Discover/Novus, JCB, MasterCard and Visa. For more information, please read the comments in the code itself. Installation Instructions Select the text

3、between the two lines indicated, below. Copy the text. Open up a text editor. Paste the text. Save that file. When saving it, make sure to: save it in a directory on your webserver, and name it with an extension that your server will recognize needs parsing by PHP. To see it in action, open up that

4、file in your web browswer. 具体代码如下: ?php # - # Credit Card Validation Solution, version 3.5 PHP Edition # 25 May 2021 # # COPYRIGHT NOTICE: # a) This code is property of The Analysis and Solutions Company. # b) It is being distributed free of charge and on an as is basis. # c) Use of this code, or an

5、y part thereof, is contingent upon leaving # this copyright notice, name and address information in tact. # d) Written permission must be obtained from us before this code, or any # part thereof, is sold or used in a product which is sold. # e) By using this code, you accept full responsibility for

6、its use # and will not hold the Analysis and Solutions Company, its employees # or officers liable for damages of any sort. # f) This code is not to be used for illegal purposes. # g) Please email us any revisions made to this code. # # Copyright 2021 # The Analysis and Solutions Company # - # # DES

7、CRIPTION: # Credit Card Validation Solution uses a four step process to ensure # credit card numbers are keyed in correctly. This procedure accurately # checks cards from American Express, Australian BankCard, Carte Blache, # Diners Club, Discover/Novus, JCB, MasterCard and Visa. # # CAUTION: # CCVS

8、 uses exact number ranges as part of the validation process. These # ranges are current as of 20 October 1999. If presently undefined ranges # come into use in the future, this program will improperly deject card # numbers in such ranges, rendering an error message entitled Potential # Card Type Dis

9、crepancy. If this happens while entering a card type # you KNOW are valid, please contact us so we can update the ranges. # # POTENTIAL CUSTOMIZATIONS: # * If you dont accept some of these card types, edit Step 2, using pound # signs # to comment out the elseif, $CardName and $ShouldLength # lines i

10、n question. # * Additional card types can be added by inserting new elseif, # $CardName and $ShouldLength lines in Step 2. # * The three functions here can be called by other PHP documents to check # any number. # # CREDITS: # We learned of the Mod 10 Algorithm in some Perl code, entitled # The Vali

11、dator, available on Matts Script Archive, #. That code was # written by David Paris, who based it on material Melvyn Myers reposted # from an unknown author. Paris credits Aries Solis for tracking down the # data underlying the algorithm. At the same time, our code bears no # resemblance to its pred

12、ecessors. CCValidationSolution was first written # for Visual Basic, on which Allen Browne and Rico Zschau assisted. # Neil Fraser helped prune down the OnlyNumericSolution() for Perl. function CCValidationSolution ($Number) global $CardName; # 1) Get rid of spaces and non-numeric characters. $Numbe

13、r = OnlyNumericSolution($Number); # 2) Do the first four digits fit within proper ranges? # If so, whos the card issuer and how long should the number be? $NumberLeft = substr($Number, 0, 4); $NumberLength = strlen($Number); if ($NumberLeft = 3000 and $NumberLeft = 3059) $CardName = Diners Club; $Sh

14、ouldLength = 14; elseif ($NumberLeft = 3600 and $NumberLeft = 3699) $CardName = Diners Club; $ShouldLength = 14; elseif ($NumberLeft = 3800 and $NumberLeft = 3889) $CardName = Diners Club; $ShouldLength = 14; elseif ($NumberLeft = 3400 and $NumberLeft = 3499) $CardName = American Express; $ShouldLen

15、gth = 15; elseif ($NumberLeft = 3700 and $NumberLeft = 3799) $CardName = American Express; $ShouldLength = 15; elseif ($NumberLeft = 3528 and $NumberLeft = 3589) $CardName = JCB; $ShouldLength = 16; elseif ($NumberLeft = 3890 and $NumberLeft = 3899) $CardName = Carte Blache; $ShouldLength = 14; else

16、if ($NumberLeft = 4000 and $NumberLeft = 4999) $CardName = Visa; if ($NumberLength 14) $ShouldLength = 16; elseif ($NumberLength 14) $ShouldLength = 13; else echo br /emThe Visa number entered, $Number, in is 14 digits long.br /Visa cards usually have 16 digits, though some have 13.br /Please check

17、the number and try again./embr /n; return FALSE; elseif ($NumberLeft = 5100 and $NumberLeft = 5599) $CardName = MasterCard; $ShouldLength = 16; elseif ($NumberLeft = 5610) $CardName = Australian BankCard; $ShouldLength = 16; elseif ($NumberLeft = 6011) $CardName = Discover/Novus; $ShouldLength = 16;

18、 else echo br /emThe first four digits of the number entered are $NumberLeft. br /If thats correct, we dont accept that type of credit card.br /If its wrong, please try again./embr /n; return FALSE; # 3) Is the number the right length? if ($NumberLength $ShouldLength) $Missing = $NumberLength - $Sho

19、uldLength; if ($Missing 0) echo br /emThe $CardName number entered, $Number, is missing . abs($Missing) . digit(s).br /Please check the number and try again./embr /n; else echo br /emThe $CardName number entered, $Number, has $Missing too many digit(s).br /Please check the number and try again./embr

20、 /n; return FALSE; # 4) Does the number pass the Mod 10 Algorithm Checksum? if (Mod10Solution($Number) = TRUE) return TRUE; else echo br /emThe $CardName number entered, $Number, is invalid.br /Please check the number and try again./embr /n; return FALSE; function OnlyNumericSolution ($Number) # Rem

21、ove any non numeric characters. # Ensure number is no more than 19 characters long. return substr( ereg_replace( 0-9, , $Number) , 0, 19); function Mod10Solution ($Number) $NumberLength = strlen($Number); $Checksum = 0; # Add even digits in even length strings # or odd digits in odd length strings.

22、for ($Location = 1 - ($NumberLength % 2); $Location $NumberLength; $Location += 2) $Checksum += substr($Number, $Location, 1); # Analyze odd digits in even length strings # or even digits in odd length strings. for ($Location = ($NumberLength % 2); $Location $NumberLength; $Location += 2) $Digit = s

23、ubstr($Number, $Location, 1) * 2; if ($Digit 10) $Checksum += $Digit; else $Checksum += $Digit - 9; # Is the checksum divisible by ten? return ($Checksum % 10 = 0); # - BEGIN SAMPLE USER INTERFACE SECTION - # # This section provides a simple sample user interface for the # Credit Card Validation fun

24、ctions. It generates an HTML form # where you enter a card number to check. # # If a number has been posted by the form, check it. if ( isset($Number) ) # Get rid of spaces and non-numeric characters in posted # numbers so they display correctly on the input form. $Number = OnlyNumericSolution($Numb

25、er); if (CCValidationSolution($Number) = TRUE) echo br /The $CardName number entered, $Number, emis/em valid.br /n; else $Number = ; # Setup an input form. Posting it calls this page again. echo form method=post action=$REQUEST_URIn; echo br /Credit Card Number: input type=text name=Number value=$Numbern; echo input type=Submit name=submitr value=Check its Validityn; echo /formbr /n; # # - END SAMPLE USER INTERFACE SECTION - ? 盼望本文所述对大家的php程序设计有所关心。 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1