Когда-то писал функцию для вычленения одного числа из строки. Но после небольшой переделки можно находить и все числа:
function parseNumber(obj) {
obj = (obj + "").match(/[e\.0-9-]+/gi) || [];
var res = [];
for (var i = 0; i < obj.length; i++)
if (/^-?(?:\d?\.)?\d+(?:e-?\d+)?$/i.test(obj[i]))
res.push(+obj[i]);
return obj;
}
alert(parseNumber("xxx-2.3aaa4.7E10"));
Примечательна тем, что может находить числа со знаком "-", с десятичной точкой и в экспоненциальном виде (1E3 = 1000, например).