私はjavascriptについて何も知りません。
文字列が「3005600008000」であると仮定すると、奇数の位置にあるすべての数字に 2 を掛け、偶数の位置にある数字に 1 を掛ける方法を見つける必要があります。
私が書いたこの疑似コードは、奇数(つまり「0」)に対してTRUEを出力します(私はそう思います)、
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);
}
これが正しいかどうかはわかりません。文字列を奇数(および後で偶数)の位置でチャンク/分割しているとは思いません。
どうすればいいですか?ヒントを教えてください。
/=================================================/
私の目標は、スマート カード ID 番号の検証ルーチンを Web ページに実装することです。
私が実装しようとしているロジックは次のとおりです。
・1)左から奇数桁全て2倍、偶数桁桁全て1倍する。
· 2) 1 桁を 2 で乗算した結果が 2 桁の数になる場合 (たとえば、「7 x 2 = 14」)、結果の桁を足し合わせて、新しい 1 桁の結果を生成します (" 1+4=5")。
· 3) 1 桁の結果をすべて加算します。
· 4) チェック ディジットは、次に高い 10 の倍数に到達するために、この結果に追加する必要がある量です。たとえば、ステップ 3 の合計が 22 の場合、次に大きい 10 の倍数 (30) に到達するには、22 に 8 を追加する必要があります。したがって、チェック ディジットは 8 です。
それが全体のアイデアです。スマートカード ID 検証に関する Google 検索では何も返されませんでした。Javascript でこれを行うのはやり過ぎだと思い始めています...
任意の入力を歓迎します。