Powershell
luhn algorithm
function luhn_test ([string]$cardNoStr) {
$s=$cardNoStr
$f=1
$r=@(0..($s.length-1))
for ($i = 0; $i -le ($s.length - 1); $i += 1) {
$r[$i]=$f*(($s[$s.length-$i-1])-([char]"0"))
$f=3-$f
}
$nsum=0
for ($i = 0; $i -le ($r.length - 1); $i += 1) {
$nsum=$nsum + [int][Math]::Floor($r[$i]/10) + $r[$i] % 10
}
('fail','pass')[1-[int](($nsum % 10 -ne 0))]
}
luhn_test "1234567812345670"
GP Blocks
quick sort
Snap!
luhn algorithm
jq
luhn algorithm
[[.card|explode|(.[]-48)] | reverse | map (tonumber)
,([range(0,length)] |map(.%2+1)) ]|transpose | map(.[0]*.[1])
|map(.%10+./10|trunc)|add| if .%10==0 then true else false end