Javascript 为什么脚本将一个完整的多位数数字分隔为分隔的数字?

Javascript 为什么脚本将一个完整的多位数数字分隔为分隔的数字?,javascript,html,Javascript,Html,我的代码有问题。 当我运行它时,然后插入一个两位数的数字,脚本将其分隔开。例:输入12表示1偶数和1奇数;输入26显示2偶数; 我希望它是混合的,所以如果我输入一个两位数或更多的数字(例如432152),它需要是1个和,1个值,并显示为1个偶数。谢谢你给我机会在这里寻求帮助 函数countfromzero(){ if(document.getElementById(“maintextbox”).value!=“”){ 计算枚举数(); } } 函数CalculateEnumbers(){ va

我的代码有问题。 当我运行它时,然后插入一个两位数的数字,脚本将其分隔开。例:输入12表示1偶数和1奇数;输入26显示2偶数; 我希望它是混合的,所以如果我输入一个两位数或更多的数字(例如432152),它需要是1个和,1个值,并显示为1个偶数。谢谢你给我机会在这里寻求帮助

函数countfromzero(){
if(document.getElementById(“maintextbox”).value!=“”){
计算枚举数();
}
}
函数CalculateEnumbers(){
var-arr=[];
var-asd=0;
var-evn=0;
arr=document.getElementById(“maintextbox”).value;
arr=arr.replace(/,|/g,“”);
对于(i=0;i


偶数:

奇数:
考虑一下HerrSerker的答案,因为它经过优化以允许数字序列,而我的答案不



您将数字视为一个数组,您的
for循环
遍历数字中的每个数字以检查它是偶数还是奇数

您只需摆脱循环,并将“arr”更改为不再是数组

函数countfromzero(){
if(document.getElementById(“maintextbox”).value!=“”){
计算枚举数();
}
}
函数CalculateEnumbers(){
var-arr;
var-asd=0;
var-evn=0;
arr=document.getElementById(“maintextbox”).value;
arr=arr.replace(/,|/g,“”);
如果(arr%2!=0){
asd++;
}否则{
evn++;
}
document.getElementById(“eventextbox”).value=evn;
document.getElementById(“oddtextbox”).value=asd;
}

甚至:
奇数:

您的
arr
变量不是您希望的数组。 将
replace
方法更改为
split
方法(使用稍微不同的正则表达式),就完成了

函数countfromzero(){
if(document.getElementById(“maintextbox”).value!=“”){
计算枚举数();
}
}
函数CalculateEnumbers(){
var-arr=[];
var-asd=0;
var-evn=0;
var str=document.getElementById(“maintextbox”).value;
arr=str.split(/[^\d]+/g);
对于(i=0;i


偶数:

奇数:
你的意思是:
432152
的输入应该给出:
1
偶数和
0
奇数的结果吗?谢谢大家!在这种情况下,我可以添加多个数字和序列号来确定数字是偶数还是奇数!