Credit card verification procedure .? PhpCreditcardvalidationroutineMay15, 2000 ByarisovalidateCardCode ($ number [, $ cardtype])  
//////////////////////////////////////// //////////// 
//// 
// Credit card validation routine // 
// May 15,200 0 // 
// By ariso // 
// ValidateCardCode ($ number [, $ cardtype]) // 
//////////////////////////////////////// //////////// 
 
 
Function validateCardCode ($ cardnumber, $ cardtype = 'unknown ') 
{ 
// Clean up input 
 
$ Cardtype = strtolower ($ cardtype ); 
$ Cardnumber = ereg_replace ('[-[: space:]', '', $ cardnumber ); 
 
// Do type specific checks 
 
If ($ cardtype = 'unknown '){ 
// Skip type specific checks 
} 
Elseif ($ cardtype = 'MasterCard '){ 
If (strlen ($ cardnumber )! = 16 |! Ereg ('5 [1-5] ', $ cardnumber) return 0; 
} 
Elseif ($ cardtype = 'visa '){ 
If (strlen ($ cardnumber )! = 13 & strlen ($ cardnumber )! = 16) | substr ($ cardnumber, 0, 1 )! = '4 ') 
 
Return 0; 
} 
Elseif ($ cardtype = 'amx '){ 
If (strlen ($ cardnumber )! = 15 |! Ereg ('3 [47] ', $ cardnumber) return; 
} 
Elseif ($ cardtype = 'discover '){ 
If (strlen ($ cardnumber )! = 16 | substr ($ cardnumber, 0, 4 )! = '20140901') return 0; 
} 
Else { 
// Invalid type entered 
Return-1; 
} 
 
 
// Start MOD 10 checks 
 
$ Dig = toCharArray ($ cardnumber ); 
$ Numdig = sizeof ($ dig ); 
$ IntIntJ = 0; 
For ($ intI = ($ numdig-2); $ intI> = 0; $ intI-= 2 ){ 
$ Dbl [$ intIntJ] = $ dig [$ intI] * 2; 
$ IntIntJ ++; 
} 
$ Dblsz = sizeof ($ dbl ); 
$ Validate = 0; 
For ($ intI = 0; $ intI <$ dblsz; $ intI ++ ){ 
$ Add = toCharArray ($ dbl [$ intI]); 
For ($ intIntJ = 0; $ intIntJ  $ Validate + = $ add [$ intIntJ]; 
} 
$ Add = ''; 
} 
For ($ intI = ($ numdig-1); $ intI> = 0; $ intI-= 2 ){ 
$ Validate + = $ dig [$ intI]; 
} 
If (substr ($ validate,-1, 1) = '0') return 1; 
Else return 0; 
} 
 
 
// Takes a string and returns an array of characters 
 
Function toCharArray ($ intInput ){ 
$ Len = strlen ($ intInput ); 
For ($ intIntJ = 0; $ intIntJ <$ len; $ intIntJ ++ ){ 
$ Char [$ intIntJ] = substr ($ intInput, $ intIntJ, 1 ); 
} 
Return ($ char ); 
} 
 
?> 
 
 
Http://www.bkjia.com/PHPjc/316333.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/316333.htmlTechArticle? Php /////////////////////////////////////// //// // Credit card validation routine /// May 15,200 0 // By ariso //// validateCardCode ($ number [, $ cardtype]) //...