Forms jquery在一个输入字段中添加数字

Forms jquery在一个输入字段中添加数字,forms,add,Forms,Add,我找到了将多个输入字段的数量相加并输出结果的方法。不过,如果可能的话,我正试图找到一种在一个字段中添加数字的方法。我基本上希望它像一个excel单元格一样工作,并在每个单元格之间使用+进行数字相加 因此,当用户输入=125+11+110时,它会自动将这些数字相加,并在方框旁边显示总数 您应该使用eval。就像这样 var input = "125+11+110"; var answer = eval(input); 这是肮脏的方法。它将输入拆分为加号,并将数组中的值相加: var userin

我找到了将多个输入字段的数量相加并输出结果的方法。不过,如果可能的话,我正试图找到一种在一个字段中添加数字的方法。我基本上希望它像一个excel单元格一样工作,并在每个单元格之间使用+进行数字相加


因此,当用户输入=125+11+110时,它会自动将这些数字相加,并在方框旁边显示总数

您应该使用
eval
。就像这样

var input = "125+11+110";
var answer = eval(input);

这是肮脏的方法。它将输入拆分为加号,并将数组中的值相加:

var userinput = "125+11+110";
var userinputarray = userinput.split("+");
var totalamount = 0;
$(userinputarray).each(function(key,value){
    totalamount += parseFloat(value);
})
它不处理减法运算。但是,您可以改为执行正则表达式匹配:

var userinput = "125+11+110";
var userinputarray = userinput.match(/(\+|\-){0,1}[0-9.]{1,}/g);
var totalamount = 0;
$(userinputarray).each(function(key,value){
    totalamount += parseFloat(value);
});
Parsefloat将删除+符号,同时仍使用负号。

var data=$('#inputfielid').text();
var data = $('#inputfeildID').text();
var arr = data.split('+');

var total = 0; 

for(i=0; i < arr.length ; i ++){
  total += arr[i];
}
console.log( total );
var arr=data.split(+); var合计=0; 对于(i=0;i
当用户单击enter或submit时,首先在输入字段中获取值或文本,然后将其从+中拆分,然后添加数组元素。您将获得输入框的总值


如果您想在用户键入时自动添加这些数字,则必须使用jQuery keyup函数&当用户按+,然后将下一个数字添加到上一个数字上

您可以在文本框上放置一个keyup侦听器。然后在侦听器触发的代码中,如果“myinput”是输入字段的id:

var exp = document.getElementById('myinput').value;
var result = eval(exp);

“result”将是表达式的值。您还应该检查“exp”以确定它是有效的条目,因为用户可以将任何类型的垃圾放入输入字段,并且可能存在安全问题。

您可以拆分字符串:

var expression = "125+11+110";
var operands = expression.split("+");
var sum = 0;

for (var i = 0; i < operands.length; i++) {
    sum += parseInt(operands[i]); // use parseFloat if you use decimals as well.
}
如果使用eval:

  • 将用户提交的字符串存储在数据库中
  • 不要将用户提交到浏览器的字符串作为JavaScript发回
  • 为了安全起见,只需甚至不将用户字符串发送到服务器即可
为什么要贴标签?我看不出有什么联系。
var expression = "125+11+110";
var sum = eval(expression);