Я ничего не знаю о javascript.
Предполагая строку "3005600008000", мне нужно найти способ умножить все цифры в нечетных позициях на 2 и цифры в четных позициях на 1.
Это псевдокод, который я написал, выводит (я думаю) TRUE для нечетных чисел (то есть «0»),
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);
}
Я не уверен, что это правильно: я не верю, что это разбивает / разбивает строку на нечет(А позже даже) позиции.
Как мне это сделать?Не могли бы вы дать несколько советов?
/=================================================/
Моя цель - внедрить на веб-странице процедуру проверки для идентификатора смарт-карты.
Логика, которую я пытаюсь реализовать, заключается в следующем:
· 1) Начиная слева, умножьте все цифры в нечетных позициях на 2 и цифры в четных позициях на 1.
· 2) Если результатумножение одной цифры на 2 приводит к получению двузначного числа (скажем, «7 x 2 = 14»), складывая вместе цифры результата, чтобы получить новый однозначный результат («1 + 4 = 5»).
· 3) Добавьте все однозначные результаты вместе.
· 4) Контрольная цифра - это сумма, которую вы должны добавить к этому результату, чтобы достичь следующего наибольшего числа, кратного десяти.Например, если на шаге № 3 сумма равна 22, чтобы достичь следующего наибольшего значения, кратного 10 (то есть 30), необходимо добавить 8 к 22. Таким образом, контрольная цифра равна 8.
Это целоеидея.Поиск в Google по проверке идентификатора смарт-карты ничего не дал, и я начинаю думать, что делать это в Javascript слишком просто ...
Любые входные данные приветствуются.