以下场景的 Javascript 或 JQuery 代码是什么?
“A ABA TextBox=必填字段”。
必须是数字和 9 位数字。执行MOD 10算法
- 将 ABA/路由号码的前 8 位数字中的每一位数字分别乘以以下数字。 A。 3,7,1,3,7,1,3,7
- 将 8 次乘法的结果相加。
- 从下一个最高的 10 倍数中减去总和。
- 上述第 3 步的结果必须等于 ABA/路由号码的第 9 位。如果没有在消息部分显示错误
我有 9 个不同的文本框用于 ABA 号码的每个数字。首先,我必须检查输入的数字是否为数字,然后我必须将此有效数字添加到字符串数组中,最后我将在其上添加我的 ABA 数字验证。
我绝对卡住了。不知道如何解决这个问题。我找到的代码很少,但不符合我的需要
编辑:这是我的 HTML 代码 OnKeyUp 事件我在字符串数组和 OnKeyPress 中添加特定文本框的值我正在检查输入的数字是否为数字
<div style="padding-bottom: 5px; padding-left: 200px;padding-right: 20px;padding-top: 0;vertical-align: middle; width: 500px;">
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab1" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab2" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab3" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab4" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab5" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab6" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab7" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab8" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="text" maxlength="1" size="10px" style="width:15px" id="ab9" onkeypress ="return onlyNumbers();" onkeyup ="return addABNumbers();" />
<input type="hidden" id="finalABNumber" value="" onkeyup="return onlyNumbers();" />
</div>
<script language="javascript" type="text/javascript">
function addABNumbers() {
var finalabNumber = document.getElementById("ab1").value + document.getElementById("ab2").value +
document.getElementById("ab3").value +
document.getElementById("ab4").value +
document.getElementById("ab5").value +
document.getElementById("ab6").value +
document.getElementById("ab7").value +
document.getElementById("ab8").value +
document.getElementById("ab9").value;
alert(finalabNumber);
document.getElementById('finalABNumber').value = finalabNumber;
} function onlyNumbers() {
// debugger;
var chek=true;
//var finalNumber = document.getElementById('finalAcntNumber').value;
//document.getElementById("finalAcntNumber").value =
var finalNumber =
document.getElementById("ac1").value +
document.getElementById("ac2").value +
document.getElementById("ac3").value +
document.getElementById("ac4").value +
document.getElementById("ac5").value +
document.getElementById("ac6").value +
document.getElementById("ac7").value +
document.getElementById("ac8").value +
document.getElementById("ac9").value +
document.getElementById("ac10").value +
document.getElementById("ac11").value +
document.getElementById("ac12").value +
document.getElementById("ac13").value +
document.getElementById("ac14").value +
document.getElementById("ac15").value+
document.getElementById("ac16").value;
// debugger;
var test = document.getElementById("ac1").value;
// chek = IsNumeric(document.getElementById("ac1").value);
// alert(chek);
// if (finalNumber.length < 15 )
// if(chek=false)
// alert('not a valid');
// alert(finalNumber);
var e = event || evt; // for trans-browser compatibility
var charCode = e.which || e.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
else if (isNaN(document.getElementById('finalAcntNumber').value)) {
alert('not a valid');
}
else {
// debugger;
// if (test != "") {
// alert(finalNumber);
document.getElementById("Text1").value = finalNumber;
// }
return true;
}
// if (!isNaN(document.getElementById("finalAcntNumber").value))
}
</script>
最佳答案
我自己想出了答案,按照我的要求正确答案如下
<script>
function validation {
var input = $("#someTextBox").val();
if (!isNaN(input)) {
var values = {
input.charAt(0) * 3,
input.charAt(1) * 7,
input.charAt(2) * 1,
input.charAt(3) * 3,
input.charAt(4) * 7,
input.charAt(5) * 1,
input.charAt(6) * 3,
input.charAt(7) * 7,
}
var sum = 0;
for (int i = 0; i < values.length; i ++) {
sum += values[i];
}
var modTen = parseInt(sum / 10);
var result = (modTen + 1) * 10;
var finalResult = result - sum;
if (finalResult == (input.charAt(8)))
alert("Valid ABA Number.");
else
alert("Error");
}
</script>
关于javascript - MOD 10 算法的 JQuery 或 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5992223/