转换包含许多数字的字符串然后添加全部

时间:2016-06-30 01:27:50

标签: javascript parsing

到目前为止,这段代码对我有用:

 var x;
 var y;
 var z;

function functionWithArgs(x, y, z) {
  console.log(x + y + parseInt(z)); // I get a sum of 6
}

functionWithArgs(1, 2, "3b");

但是当我这样做时:

  var x;
  var y;
  var z;

function functionWithArgs(x, y, z) {
  console.log(x + y + parseInt(z)); //
}

functionWithArgs(1, 2, "987b8h76");

我收到错误消息。请给我任何建议。我只是个初学者。

4 个答案:

答案 0 :(得分:0)

试试这个:

function functionWithArgs(x, y, z) {
  console.log(x + y + parseInt(z.replace(/\D+/g, ''), 10));
}

functionWithArgs(1, 2, "987b8h76");  // 987879

答案 1 :(得分:0)

试试这个

function functionWithArgs(x, y, z) {
  console.log(x + y + parseInt(z.replace(/\D/g,''))); //
}

functionWithArgs(1, 2, "987b8h76");

答案 2 :(得分:0)

我想你需要这个:

var x;
var y;
var z;

function getNum (s) { return s.replace(/[^0-9]/ig,""); }

function functionWithArgs(x, y, z) {
  console.log(x + y + parseInt(getNum(z))); //
}

functionWithArgs(1, 2, "987b8h76");

答案 3 :(得分:0)

Javascript parseInt(“som3symb0ls”)将导致解释脚本时出错,因为javascript喜欢单引号。

改变这个:

functionWithArgs(1, 2, "987b8h76")

为:

functionWithArgs(1, 2, '987b8h76')

如果你用你的代码运行它将返回990

对于您可能想添加的javascript: http://www.w3schools.com/jsref/jsref_parseint.asp 到你的书签 JS,HTML,DOM东西的超级站点