Javascript计算器-逗号问题
我对Javascript非常陌生;在大约3天的新。。。我正在创建一个计算器,从三个输入字段中提取数据,然后计算出粗略的月度和年度总数。然后它使用这个总数动态构建一个表 在大多数情况下,除了一个例外,我的一切都正常。如果有人在输入字段中键入逗号,它将只识别逗号之前的值。例如,如果他们输入10000;它将读为10。我试着用一个基于正则表达式的替换,但它似乎不起作用。我可能把它放错地方了,但我尝试了几种不同的方法,所以现在确定了 下面是我遇到问题的代码部分Javascript计算器-逗号问题,javascript,Javascript,我对Javascript非常陌生;在大约3天的新。。。我正在创建一个计算器,从三个输入字段中提取数据,然后计算出粗略的月度和年度总数。然后它使用这个总数动态构建一个表 在大多数情况下,除了一个例外,我的一切都正常。如果有人在输入字段中键入逗号,它将只识别逗号之前的值。例如,如果他们输入10000;它将读为10。我试着用一个基于正则表达式的替换,但它似乎不起作用。我可能把它放错地方了,但我尝试了几种不同的方法,所以现在确定了 下面是我遇到问题的代码部分 <input onblur="
<input onblur="findTotal();" type="text" name="qty" id="qty1"/>
<input onblur="findTotal();" type="text" name="qty" id="qty2"/>
<input onblur="findTotal()" type="text" name="qty" id="qty3"/>
<input disabled type="text" name="totalyr" id="totalyr"/>
<input disabled type="text" name="totalmo" id="totalmo"/>
<script type="text/javascript">
function findTotal(){
var getqty = document.getElementsByName('qty');
var tot=0;
for(var i=0;i<getqty.length;i++){
if(parseInt(getqty[i].value))
(tot += parseInt(getqty[i].value));
}
document.getElementById('totalmo').value = tot*4;
document.getElementById('totalyr').value = tot*52;
}
</script>
函数findTotal(){
var getqty=document.getElementsByName(“数量”);
var-tot=0;
对于(var i=0;我昨天有这个,这对我来说是有效的
var getqty = document.getElementsByName('qty').value.replace(/,/g, "");
或者类似
var getqty = +document.getElementByName("qty").value.replace(/[^\de.-]/gi, "");
您想在输入中完全允许逗号吗?请尝试parseInt(getqty[i].value.replace(/,/g',),10)
regex替换了什么?最好使用parseFloat(getqty[i].value.replace(/,/g',),因为在123.456这样的点被限制为123之后,parseInt将忽略所有内容。我可以一起禁用逗号。