Javascript或JQuery如何替换所有' +'在一个字符串中

时间:2016-05-27 11:16:27

标签: javascript jquery string numbers

现在我有一个存储字符串的变量。

var value = "66+88";

如何更换' +'使用标准+运算符以便我可以评估

  

66 + 88 = 154

由于

5 个答案:

答案 0 :(得分:3)

使用String#splitArray#map来获取Number,然后Array#reduce

var value = "66+88";
var result = value.split('+').map(Number).reduce(function(a, b) {
  return a + b;
}, 0);
console.log(result);

答案 1 :(得分:1)

您可以使用eval

var value = eval("66+88");

但是你需要小心,特别是如果这个字符串来自用户。

此函数会将输入字符串评估为JavaScript,并可能损坏您的其他脚本或可用于黑客攻击。

使用它需要您自担风险!

答案 2 :(得分:0)

使用String#replace

var value = "66+88";
var result = value.replace(/^(\d+)\+(\d+)$/, function(x, y, z){
             return parseInt(y) + parseInt(z) })
console.log(result);

答案 3 :(得分:0)

您可以使用split()方法拆分字符串。

var value = "66+88";
var no = value.split('+');
console.log(parseInt(no[0]) + parseInt(no[1]));

split()方法将返回数组。在这种情况下

  

不= [' 66',' 88']

parseInt()会将字符串转换为Int,您可以计算总和。

谢谢!

答案 4 :(得分:0)

您可以使用splitreduce来总结字符串。

这是一个例子。

var value1 = "66+88";
var value2 = "66+88+44";


function sumUpStr (strToSum) {
  var sum = strToSum.split("+").reduce(function(prev, next) {
    return +prev + +next;
  });
  return sum;
};


console.log("Sum of value1 is: " + sumUpStr(value1));
console.log("Sum of value2 is: " + sumUpStr(value2));
console.log("Sum of value1 + value2 is: " + sumUpStr(value1 + "+" + value2));