gpt4 book ai didi

javascript - 在每个奇数和偶数位置分块字符串

转载 作者:行者123 更新时间:2023-11-30 09:04:21 24 4
gpt4 key购买 nike

我对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 号的验证例程。

我尝试实现的逻辑如下:

· 1)从左边开始,奇数位的所有数字乘以2,偶数位的数字乘以1。

· 2) 如果一个数字乘以 2 的结果是一个两位数(比如“7 x 2 = 14”),将结果的数字加在一起产生一个新的一位数结果(“1+4=5”)。

· 3) 将所有个位数结果相加。

· 4) 校验位是您必须添加到此结果的金额,以达到下一个最高的十倍数。例如,如果步骤 #3 中的总和是 22,要达到 10 的下一个最高倍数(即 30),您必须将 8 添加到 22。因此校验位是 8。

这就是整个想法。智能卡 ID 验证的谷歌搜索没有返回任何结果,我开始认为在 Javascript 中这样做有点矫枉过正......

欢迎任何输入。

最佳答案

var theArray = camid.split(''); // create an array entry for each digit in camid
var size = theArray.length, i, eachValue;
for(i = 0; i < size; i++) { // iterate over each digit
eachValue = parseInt(theArray[i], 10); // test each string digit for an integer
if(!isNaN(eachValue)) {
alert((eachValue % 2) ? eachValue * 2 : eachValue); // if mod outputs 1 / true (due to odd number) multiply the value by 2. If mod outputs 0 / false output value
}
}

关于javascript - 在每个奇数和偶数位置分块字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6418703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com