Skip to content

Instantly share code, notes, and snippets.

@mahdyar
Created May 9, 2022 17:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mahdyar/7b37fbd6618ad0bb5872d0fe7795f63e to your computer and use it in GitHub Desktop.
Save mahdyar/7b37fbd6618ad0bb5872d0fe7795f63e to your computer and use it in GitHub Desktop.
بررسی صحت شماره کارت ایرانی در PHP
<?php
function validateCardNumber($cardNumber)
{
if (empty($cardNumber) || strlen($cardNumber) !== 16) {
return false;
}
$cardToArr = str_split($cardNumber);
$cardTotal = 0;
for ($i = 0; $i < 16; $i++) {
$c = (int)$cardToArr[$i];
if ($i % 2 === 0) {
$cardTotal += (($c * 2 > 9) ? ($c * 2) - 9 : ($c * 2));
} else {
$cardTotal += $c;
}
}
return ($cardTotal % 10 === 0);
}
// More to read: http://www.aliarash.com/article/creditcart/credit-debit-cart.htm
@mahdyar
Copy link
Author

mahdyar commented May 9, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment