Forum Moderators: open
var camid;
var LN= camid.length;
var mychar = camid.charAt(LN%2);
var arr = new Array(camid);
for(var i=0; i<arr.length; i++) {
var value = arr[i]%2;
Alert(i =" "+value);
}
var camid = "3005600008000",
arr = camid.split("");
var i, n, value;
for (i = 0, n = arr.length; i < n; i++) {
value = parseInt(arr[i], 10) * (i % 2 === 0? 1 : 2);
// do something with value
}
var camid = '3005600008000';
var mychar, value;
for (var i=1; i<=camid.length; i++) {
mychar = camid.charAt(i-1);
// Modulo operator (%) - returns remainder when divide by
if (i % 2 == 1) {
// Odd
value = mychar * 2;
} else {
// Even
value = mychar * 1;
}
// Alert popup for every character position
alert(i + ' = ' + value);
}
<!DOCTYPE html>
<html>
<head>
<title>Smartcard ID validation</title>
</head>
<body>
<pre>
3 0 0 5 6 0 0 0 0 8 0 0 0
* * * * * * * * * * * * *
2 1 2 1 2 1 2 1 2 1 2 1 2
6 0 0 5 12 0 0 0 0 8 0 0 0
6 +0 +0 +5 +3 +0 +0 +0 +0 +8 +0 +0 +0 = 22 (sum)
if 22 % 0 === 0, checksum = 0
else, checksum = 10 - (22 % 10) = 10 - 2 = 8
</pre>
<script>
var camid = "3005600008000",
arr = camid.split("");
var i, n, value, sum = 0;
for (i = 0, n = arr.length; i < n; i++) {
value = parseInt(arr[i], 10) * ((i + 1) % 2 === 0? 1 : 2);
if (value > 9) {
value = parseInt(value / 10, 10) + parseInt(value % 10, 10);
}
sum += value;
}
alert("sum = " + sum);
checkDigit = (sum % 10 === 0? 0: 10 - (sum % 10));
alert("check digit = " + checkDigit);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Luhn Validation</title>
</head>
<body>
<script>
function isLuhnValid(num) {
var arr = num.split(""),
i, n, value, sum = 0;
for (i = arr.length - 1, n = 0; i >= 0; i--, n++) {
value = parseInt(arr[i], 10) * ((n + 1) % 2 === 0? 2 : 1);
if (value > 9) {
value = parseInt(value / 10, 10) + parseInt(value % 10, 10);
}
sum += value;
}
return (sum % 10 === 0);
}
var data = [
'49927398716',
'49927398710'
];
alert(data[0] + ' is ' + (isLuhnValid(data[0])? '' : 'not ') + 'valid');
alert(data[1] + ' is ' + (isLuhnValid(data[1])? '' : 'not ') + 'valid');
</script>
</body>
</html>