来自输入的 parseInt 值并用作检查最后一个值与 Javascript 的总和

parseInt value from input and use as a check for the sum of last value with Javascript

正在尝试跟踪输入值中的数字并将其用作最后一个数字的校验位。基本上,获取输入的前九位数字,运行 一些简单的数学运算,然后将这些数字加在一起。取总数除以二然后用余数作为校验位。

到目前为止还没有成功,所以如果有人知道我哪里出错了,我会很感激的。 I put a fiddle up here: Das Fiddle

 window.onkeyup = keyup;
 var inputTextValue;

 function keyup(e) {
  inputTextValue = e.target.value;
  $('#numberValue').text(inputTextValue);
        // must be 10 characters long
        if (inputTextValue.length !== 10) {
            return false;
        }

        // run the checksum
        var valid = false;
        try {
            var sum = (parseInt(inputTextValue[0], 10) * 2) +
                (parseInt(inputTextValue[1], 10) * 3) +
                (parseInt(inputTextValue[2], 10) * 4) +
                (parseInt(inputTextValue[3], 10) * 2) +
                (parseInt(inputTextValue[4], 10) * 3) +
                (parseInt(inputTextValue[5], 10) * 4) +
                (parseInt(inputTextValue[6], 10) * 2) +
                (parseInt(inputTextValue[7], 10) * 3) +
                (parseInt(inputTextValue[8], 10) * 4);

            var checkNumber = 0;

            if ((sum % 10) > 0) {
                checkNumber = (sum % 10).toFixed(-1);
            }

            if (inputTextValue[9] === ("" + checkNumber)) {
                valid = true;
                alert(checkNumber)

            }
        } catch (e) {
            valid = false;
        }

        return valid;

}

你应该使用:

   checkNumber = (sum % 10).toFixed(0);

toFixed(-1) 将 return 0.

Fiddle here