Re: Credit Card Class...how do u access?

From: Date: Fri, 20 Apr 2001 20:13:53 +0000
Subject: Re: Credit Card Class...how do u access?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-49535@lists.php.net to get a copy of this message
do like: if (credit_card::validate("123412341234")) { // yes correct... } else { // no not correct.. } I believe this class is from WeberDev and I believe it comes with lots of comments showing how it works... -elias http://www.kameelah.org/eassoft "Dhaval Desai" <dhaval_adams@yahoo.com> wrote in message news:20010420083447.41993.qmail@web10007.mail.yahoo.com... > Hi! > > I have the following class for checking a credit card > type.Can anybody tell me how do I access this class. I > mean how should I check a credit card type using this > class..? > > Thank you > DHaval Desai > > <?php > > > class credit_card > { > function clean_no ($cc_no) > { > // Remove non-numeric characters from $cc_no > return ereg_replace ('[^0-9]+', '', $cc_no); > } > > function identify ($cc_no) > { > $cc_no = credit_card::clean_no ($cc_no); > > // Get card type based on prefix and length of > card number > if (ereg ('^4(.{12}|.{15})$', $cc_no)) > return 'Visa'; > if (ereg ('^5[1-5].{14}$', $cc_no)) > return 'Mastercard'; > if (ereg ('^3[47].{13}$', $cc_no)) > return 'American Express'; > if (ereg ('^3(0[0-5].{11}|[68].{12})$', > $cc_no)) > return 'Diners Club/Carte Blanche'; > if (ereg ('^6011.{12}$', $cc_no)) > return 'Discover Card'; > if (ereg ('^(3.{15}|(2131|1800).{11})$', > $cc_no)) > return 'JCB'; > if (ereg ('^2(014|149).{11})$', $cc_no)) > return 'enRoute'; > > return 'unknown'; > } > > function validate ($cc_no) > { > // Reverse and clean the number > $cc_no = strrev (credit_card::clean_no > ($cc_no)); > > // VALIDATION ALGORITHM > // Loop through the number one digit at a time > > // Double the value of every second digit > (starting from the right) > // Concatenate the new values with the > unaffected digits > for ($ndx = 0; $ndx < strlen ($cc_no); ++$ndx) > > $digits .= ($ndx % 2) ? $cc_no[$ndx] * 2 : > $cc_no[$ndx]; > > // Add all of the single digits together > for ($ndx = 0; $ndx < strlen ($digits); > ++$ndx) > $sum += $digits[$ndx]; > > // Valid card numbers will be transformed into > a multiple of 10 > return ($sum % 10) ? FALSE : TRUE; > } > > function check ($cc_no) > { > $valid = credit_card::validate ($cc_no); > $type = credit_card::identify ($cc_no); > return array ($valid, $type, 'valid' => > $valid, 'type' => $type); > } > } > > __________________________________________________ > Do You Yahoo!? > Yahoo! Auctions - buy the things you want at great prices > http://auctions.yahoo.com/ > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > For additional commands, e-mail: php-general-help@lists.php.net > To contact the list administrators, e-mail: php-list-admin@lists.php.net >

« previous php.general (#49535) next »