Javascript,验证,用于循环
我正在用Javascript编写一个信用卡号验证程序。我想对照LUHN变量进行检查,我想自己编写步骤,并尝试借助for循环来完成这项工作,以便练习它们。 然而,我被困住了,我需要一些友好的建议从现在开始做什么。 对于for循环的整个语法,我也有点困扰,任何关于如何改进它们的提示都是受欢迎的 项目在这里: 以下是我遇到问题的代码:Javascript,验证,用于循环,javascript,validation,loops,Javascript,Validation,Loops,我正在用Javascript编写一个信用卡号验证程序。我想对照LUHN变量进行检查,我想自己编写步骤,并尝试借助for循环来完成这项工作,以便练习它们。 然而,我被困住了,我需要一些友好的建议从现在开始做什么。 对于for循环的整个语法,我也有点困扰,任何关于如何改进它们的提示都是受欢迎的 项目在这里: 以下是我遇到问题的代码: else if (filter.test(cardnumber.value)) { // 1. Begin with second to last number
else if (filter.test(cardnumber.value))
{
// 1. Begin with second to last number iterate, every second number with 2 until start.
for(i = 0; i < cardnumber.length;i += 1){
newnumbers = (i * 2);
// 2. The result of the previous string to be added i+i+i.
for (i = 0; i < newnumbers.length; i += 1){
sum1 = (i + i);
// 3. Then add the remaining numbers together but skip the last which is a control number.
for (i = 0; i < cardnumber.length; i += 1){
sum2 = (i + i);
// 4. Add sum1 and sum2 together
var checksum = (sum1 + sum2);
alert('the sum of x and y is: ' + checksum);
// 5. Mod10 out of the checksum + cardnumber control number to get validity.
if ((checksum + cardnumber[-0]) % 10 === 0){
alert('LUHN checks out!');
}
else {
alert('not yet');
}
}
}
}
else if(filter.test(cardname.value))
{
//1.从第二个到最后一个数字开始迭代,每隔一秒以2开始,直到开始。
对于(i=0;i
我不确定如何提出正确的问题,但我猜我的问题是可变范围、for循环和让for循环执行基于索引的查询。我知道这段代码既难看又长,这是我第二次尝试javascript,所以请不要太在意
运行此代码时,校验和未定义-有人知道为什么吗?可能与字符串和整数有关吗?:S
我们非常感谢您的回复。
非常感谢。
Tomas在所有嵌套的for循环中使用相同的变量“i”可以吗?我觉得这不太好!很可能是真的!我刚刚尝试了一些循环重构,这些循环最初没有嵌套,并且使用了相同的变量“i”-但是这样做可以吗?如果循环没有嵌套,那么重用变量也可以,但是在嵌套循环中,您不应该这样做,除非您正在引用相同的内容(您想在更高级别的循环中跳过或重复某些步骤)如果您可以使用jQuery,那么有一个优秀的信用卡验证插件,它可以检查Luhn校验和并确定卡类型:啊,我不能,这是我收到的一个学校项目的作业,应该是JavaScript。没有库等。但是谢谢!